TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Learning Curves for Different Programming Languages

207 pointsby linhmtran168over 10 years ago

30 comments

phamiltonover 10 years ago
Everyone seems to be focusing on the PHP vs Haskell thing and seem to be missing the other points. Here&#x27;s a summary:<p>Callbacks in Javascript make you feel more productive, but in fact you become less productive.<p>Design patterns in Java don&#x27;t actually make much of a difference in productivity, but you think they do.<p>Templates in C++ seem hard but with a big payoff, but they don&#x27;t accelerate productivity.<p>Unit tests in python do make you more productive, though it doesn&#x27;t feel like it. Decorators on the other hand do not make you more productive, but they make you feel more productive.<p>In Lisp, macros accelerate both the feeling of productivity and actual productivity.<p>In Haskell, once your brain stops hurting you become productive. When you learn monads, your brain will hurt for a bit. While your brain hurts, your productivity declines. Once you get past understanding monads, your productivity grows at roughly the same rate as it did before you knew monads (in other words, monads do not accelerate productivity). Then you learn category theory, which has no bearing on your productivity but makes you feel less productive.<p>PHP is a bit of a cheap shot, stating that you won&#x27;t become more productive over time but you will always feel super productive.
评论 #8803397 未加载
评论 #8803164 未加载
ballootover 10 years ago
I am increasingly convinced that Haskell only exists so that people who know it can pat themselves on the back for being wonderful.
评论 #8802841 未加载
评论 #8802893 未加载
评论 #8803053 未加载
评论 #8802937 未加载
评论 #8803706 未加载
评论 #8802918 未加载
评论 #8802927 未加载
评论 #8803110 未加载
iSlothover 10 years ago
Really don&#x27;t understand the pure hatred that people have for PHP, I&#x27;m at network engineer and I don&#x27;t have any desire to become a programmer because I love my job, however I&#x27;ve wrote some very useful applications that myself and my team use on a daily basis to make networking easier for us.<p>For me it was simple to learn PHP and create something &#x27;useful&#x27;, basically every web server is capable of running it which makes my life a lot easier as well.<p>Surely the fact that someone can hack together code within a few minuets that doesn&#x27;t profess to be a coder is a good thing, regardless of the language that there using?<p>There is no better programming language than the one you know.
评论 #8802983 未加载
评论 #8803028 未加载
评论 #8802996 未加载
评论 #8803056 未加载
评论 #8803045 未加载
评论 #8803044 未加载
brucehaumanover 10 years ago
For goodness sake people. You can take a comic as an attack on a particular programming language, but how is this useful? Maybe there is wisdom in this comic or not, but there is value in people reflecting and presenting a humorous point of view.<p>I have used all of the languages above and found the comic humorous and greatly exaggerated. But I think that there is something here. If you haven&#x27;t really used the exalted languages in this comic please try them. You can only learn from the experience.<p>Also, if users of a particular language appear to be elitist, this does not say anything about the value of the language itself.<p>An open mind is going to be both happier and more capable.
coldteaover 10 years ago
He wanted to make a cheap joke, but PHP should be the opposite: productivity is rather high, while self-assesment is low.
评论 #8802935 未加载
评论 #8802756 未加载
评论 #8802727 未加载
评论 #8803117 未加载
aikahover 10 years ago
This isnt even funny.Unless you want to take a cheap shot at PHP and glorify Haskell,the language everybody brags about but almost nobody uses professionally.
rubiquityover 10 years ago
I&#x27;m not a PHP user, nor do I like PHP, but I do know plenty of PHP users that are quite productive with the language.
评论 #8802887 未加载
xrstfover 10 years ago
Oh wow lel so funny, 10&#x2F;10, pease make more PHP jokes, they are so super funny. And you are right, too! Not a single PHP developer was ever productive and shipped a product. None. Never. And especially PHP devs walk around and proclaim &quot;We are the elite! Our language makes coding fun and hip!!!!&quot; all the time.<p>&lt;&#x2F;rant&gt;
评论 #8803005 未加载
iamcreasyover 10 years ago
I wish the article didn&#x27;t include the php learning curve. Then this thread could have been an interesting read.
staredover 10 years ago
It seems that it interchanges &quot;productive&quot; with &quot;writing clean code&quot;.<p>PHP is ugly but can be productive. Haskell is beautiful, but well, I know a lot of people encharmed by it, but no-one productive (i.e. delivering products quickly; it&#x27;s not the same as solving pure, mathematical problems).
评论 #8802889 未加载
评论 #8802900 未加载
评论 #8803135 未加载
trcollinsonover 10 years ago
It seems like a lot of people love to hate PHP, and I am not the biggest fan of PHP myself but some of the arguments are a bit off. My current consultancy focuses on coming into companies in a last ditch effort to fix problems with startups, generally after they have failed some sort of technical due diligence when being sold. I get a fairly even mix of most languages (Ruby, PHP, Python, .Net, Java) and they all have problems in the wrong hands.<p>In 2014 (so very recently, this year), I was brought into a company that was just about to be sold and failed a technical due diligence. One of the red flags was that most of the engineers were in the process of leaving having &quot;accomplished a dream and sold their amazing system to a large organization&quot;. They left for really big, well known companies rather than finish the technical due diligence and take an aqui-hire position.<p>A look at the code showed why. While these were all honestly rather Senior level engineers, they had written some of the most horrible Ruby, JRuby, and Clojure code I have seen in my career. Often it seems they decided well known and good frameworks were just &quot;not good enough&quot; so they decided to write and not maintain their own. Their list of technical sins was quite long but the last I will mention is that they never could decide, from day to day, what the right architecture was, so they just changed it, over and over, on a whim.<p>The point of this story is, languages don&#x27;t write poor code, engineers do. I know that people will say, &quot;But PHP has an ecosystem of Junior developers just picking it up and pushing out bad code and never really learning.&quot; This may be true, but it&#x27;s actually just as true with Ruby, Python, .Net, and Java. Those languages, Ruby and Python in particular, are just much better at the PR game of making themselves look &quot;more mature&quot; than PHP is.
virtualwhysover 10 years ago
tl;dr humerous Haskeller takes steaming dump, rejoices; one may think that one is not being productive, and yet one&#x27;s actual productivity sky rockets, whereas in other languages (exception, LISP) one&#x27;s actual productivity is less than one feels, especially in the case of PHP where delusion apparently reigns.<p>Seems to be a riff on the text editor comic graph where emacs morphs into dragon-eating-its-tail recursion as one approaches unreachable mastery [1]<p>[1] <a href="http://ergoemacs.org/emacs/emacs_fun.html" rel="nofollow">http:&#x2F;&#x2F;ergoemacs.org&#x2F;emacs&#x2F;emacs_fun.html</a>
sergiotapiaover 10 years ago
Say what you want but PHP is one of the most Rambo-bad-ass languages I&#x27;ve ever used. You toss everything to the wind if you want and you will still get a working product.<p>Few languages have that sheer &quot;Survive&quot; feel to it. For that alone I think PHP should be celebrated. Note: I&#x27;m not a PHP developer.
评论 #8803649 未加载
评论 #8803749 未加载
raverbashingover 10 years ago
Decorators are more than simple syntactic sugar in Python ;)<p>It seems overly critical, but still funny (the Haskell one is probably the most spot on)<p>And after all, Facebook uses PHP and MySql
评论 #8803624 未加载
评论 #8802689 未加载
评论 #8802920 未加载
评论 #8802749 未加载
creyes123over 10 years ago
I am working on a commercial SAAS application written in Haskell. I have been programming computers since 1980, with solid experience in at least a couple dozen programming languages. I chose Haskell for this project because of its programmer productivity and runtime performance. I have not been disappointed. I am always amazed at how little code it takes to get things done. The Achilles Heel of too many languages and their implementations is concurrency support. Haskell had that problem licked ten years ago. Once my code compiles, I know it has few remaining bugs. It runs fast and there are enough good third party libraries to meet my needs.<p>So what&#x27;s not to like about Haskell? It has a brutal learning curve. Not so much because it is hard, but because it is different.
DavidSJover 10 years ago
Presumably inspired by <a href="http://www.terminally-incoherent.com/blog/2006/08/01/text-editor-learning-curves/" rel="nofollow">http:&#x2F;&#x2F;www.terminally-incoherent.com&#x2F;blog&#x2F;2006&#x2F;08&#x2F;01&#x2F;text-ed...</a>
horridoover 10 years ago
Re: Haskell monads<p>If something hurts my brain, I don&#x27;t want to do it; I don&#x27;t care about the long-term benefits. Most humans feel the same way and that&#x27;s why Haskell will never become mainstream.
评论 #8809929 未加载
gexlaover 10 years ago
Poor PHP. It just keeps getting dumped on.
评论 #8802819 未加载
评论 #8802817 未加载
cstrahanover 10 years ago
The stigma around Haskell is quite unfortunate. Most complaints that I&#x27;ve heard leveled at Haskell are variations of &quot;it&#x27;s too academic&quot;. Given that those complaints usually come up when one is tackling abstractions like Functors, Applicatives and Monads, it would seem that the true sentiment is that &quot;Haskell is too abstract&quot;.<p>Interestingly, I have yet to hear someone complain about abstractions like Collection, Stack, Dictionary, or looking at the ever popular OOP abstractions Class and Method.<p>Why is it that OOP is widely accepted[1], and yet Haskell-like FP has yet to take off? Well, I think I have an explanation for why this is.<p>The abstractions commonly used in Haskell are perhaps a bit &quot;more abstract&quot; than those seen in most OOP programming. Most people can intuit the value of collections&#x2F;classes&#x2F;etc., and those that can&#x27;t are pushed in the right direction by the majority of the industry.<p>Compare the situation of popular imperative languages to that of Haskell: the utility of the former is easily acknowledged and has the support of the industry, whereas the latter is harder to fully appreciate without investing some time and has the industry actively suggesting that the abstractions are useless.<p>Haskell-like FP is, unfortunately, where OOP probably was when it was still &quot;the new thing&quot;. &quot;Why would anyone use this? Classes, interfaces, methods, messages... Too academic!&quot;<p>And then OOP picked up momentum as people discovered the utility of encapsulated state, programming to an interface (instead of an implementation), the ability to isolate the System Under Test via mock objects... And then those that tasted the benefits worked really, really hard to shift the mindshare of the industry to accept these abstractions as &quot;good things&quot;.<p>I hope Haskell et al will get there some day. The thing is, ideas like Monads are incredibly useful - just as useful as any of the more popular abstractions. They&#x27;re just one more tool in the toolbox - if you don&#x27;t know them, you might be missing out.<p>In an attempt to dispel the myth that abstractions common in Haskell are academic and useless for professional programming, I would ask one thing of you: please, please, please watch Tom Stuart&#x27;s talk &quot;Refactoring Ruby with Monads&quot; (given at Barcelona Ruby Conference 2014): <a href="https://www.youtube.com/watch?v=J1jYlPtkrqQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=J1jYlPtkrqQ</a><p>The abstractions are useful. Yes, just like any of the abstractions that you may have already mastered, they do take time to learn. It&#x27;s an investment. I know the payoff might not be immediately obvious, but I promise that it&#x27;s right around the corner. There&#x27;s a practical, pragmatic reason Haskell is being used to great effect at places like ThoughtBot, Facebook, Skedge.me, and more.<p>[1] This is almost a given now: recruiters have often quizzed along the lines of &quot;why is OOP a superior paradigm?&quot;
esaymover 10 years ago
Ugh, they left off Perl.
salafyover 10 years ago
What about ruby ?
评论 #8802734 未加载
评论 #8802919 未加载
smt88over 10 years ago
This is a lot of debate for something that&#x27;s intended to be funny.<p>If all the lines were accurate, would it have been funny at all?
hexaustover 10 years ago
Add ruby and c#
评论 #8802647 未加载
bluecalmover 10 years ago
Can you share what did you use to make those beautiful graphs ? I really like the fuzzy axis lines.
评论 #8803530 未加载
评论 #8803476 未加载
rubiquityover 10 years ago
Would learning Monads really come before learning Category Theory in Haskell?
评论 #8803207 未加载
评论 #8803098 未加载
评论 #8803203 未加载
评论 #8803802 未加载
finidover 10 years ago
For elmers out there, what will a graph of Elm look like?
评论 #8803010 未加载
评论 #8804255 未加载
评论 #8802852 未加载
Tehnixover 10 years ago
Does anyone know how the graphs were drawn?
评论 #8802977 未加载
评论 #8803000 未加载
misingnoglicover 10 years ago
Someone needs to label their axis better
tdsamardzhievover 10 years ago
Pretty accurate, I&#x27;d say.
imartinezover 10 years ago
Bad programmers are bad no matter the language... Why you don&#x27;t waste your time writing an interesting post of your preferred language instead of make jokes about another ones? Maybe the answer is that you can&#x27;t even write a line of quality code... you people the Nelson Muntz of code..