4 ms·
Why learning Haskell/Python makes you a worse programmer
- JCB_K 16y agoIf I understand this well, the writer is just being extremely sarcastic, and is looking for a job where he can write in something else than C#.
- stonemetal 16y agoAlso note that it is from 2006. My first thought at his attempt to functionally program in C# was "Were is the LINQ?" but the article is older than that. He may be being sarcastic but in so far as Haskell idioms don't work in imperative languages he is right, especially as it applies to the large framework languages. The whole standard library (and as he calls out the ASP.net framework) expects a certain kind of mentality that isn't FP centric. The amount of FPisms that you can bring to an ASP.net app are few and far between. On a low level, C# (at least at that time) had very poor FP support. On the High level design side ASP.net dictates part of your design and does it in a somewhat FP hostile way.
- deleted 16y ago[deleted]
- arctangent 16y agoAs a fellow Englishman I can confirm that the title and the article are laced with sarcasm.
- zwieback 16y agoOh no, do we have to listen to a new generation of frustrated developers rehashing the tired old arguments made by frustrated Lispers?
- raganwald 16y ago"Those who do not learn from history, are doomed to repeat it."--misappropriated from George Santayana. Without a solitary shred of evidence to support my conjecture, I claim that the problem is that programmers are given a smattering of information about how to use some tools, but are not taught about the progression of tools over time. The history of programming languages is a history of attempts to solve various problems and a history of various design trade-offs. Deprived of this basic grounding, young programmers are constantly rediscovering the good and the bad, and the Internet gives us a constant stream of their revelatory essays, all of which can be summarized as "Babies vs. Bathwater: Fight!"
- joshfinnie 16y agoVery linkbaity title. First sentence gets to the real point of the article: >>I've found, contrary to what you sometimes read, that learning Python and Haskell has not improved my programming using other languages. This is more about his personal experience than any hard facts about Haskell or Python making the general population a worse programmer.
- bioinformatics 16y agoAnd the second >I find I think in Python, and even in Haskell to some extent, even though I have used Haskell very little. demotivates you to read the rest.
- arctangent 16y agoIt could also be taken as a statement that the powerful features in Haskell and Python are not easily reproduceable in other languages.
- TheSOB88 16y agoIgnorance is bliss.
- wcoenen 16y agoThis is a post from 2006. The example problem with C# no longer exists; it can currently be written much like the author desired: string.Join("\n", mylist.Select(x => x.Description).Where(description => description != ""));
- alimbada 16y agoThis post is 5 years old... C# is now at version 4 and has a boatload of functional features.
- chris_j 16y agoSince RiderOfGiraffes is not around any more, I'll point out that this has been on HN a couple of times before, with some interesting discussion: http://news.ycombinator.com/item?id=1883663 http://news.ycombinator.com/item?id=1883663 http://news.ycombinator.com/item?id=407796 http://news.ycombinator.com/item?id=407796 I'm still sympathetic to the author's plight because my experiences have been similar. After learning Python and Haskell (and Clojure) and then returning to Java, I find myself missing features like first class functions and list comprehensions and so on. It's hard coming to terms with the fact that you're back in Blub and having to cram your thinking back into that box. It isn't so much becoming a worse programmer as becoming a more frustrated programmer.