May I ask what is the utility of Haskell? Or rather, in what field it has one? Functional programming as a shortcut is great, but Python has that covered. Even C# LINQ has that covered, for most pragmatic functional programming is about writing domain-specific query languages, as a lot of complicated programming can be reduced to input - massage the data - output. The rest often just library-juggling. As opposed to this pragmatically functional stuff, purely functional programming is largely about avoiding bugs of certain types, but in my experience 95% of bugs come from not of those types, but from misunderstanding requirements or requirements themselves being sloppy and chaotic. Pure functionality is largely about programming like a mathemathician, strictly formal and everything the result of reasoning instead of just cobbling things together by trial and error which tends to characterize most programming, but the kind of bugs this formalist attitude cuts down on is not really the kinds of bugs that actually annoy users. So I wonder what utility you found to Haskell.

Showing 3 of 4 replies (Click to show all)

I'm a professional programmer and I know Haskell, but I've only ever written one real Haskell program (an AI for double-move chess). Nevertheless I recommend it. All I can tell you is that if you master it -- I mean really master it, not learn to write Python in Haskell -- then your Python programming will reach a new level as well. You will be able to solve problems that once seemed intractable, which you'd persuade your product manager to scope out.

It used to be that you could get this effect by learning Lisp, but I don't think that works anymore; too many of Lisp's good ideas have since been taken up by more ordinary languages.

4Viliam5yI do not have much experience with functional programming, but I'll try to answer anyway: There is a huge difference between programming as an academical discipline, and programming as in "what 99% of programmers in private sector do". The former is like painting portraits that will survive centuries, the latter is like painting walls. Both kinds of "painters" use colors, although the wall painters are usually okay with using only white color and the most experienced of them are really proud to use a paint roller with the great skill that only comes from years of experience. The portait painters usually have extremely low square-meters-per-hour productivity. Programming as a science is about writing effective and provably correct algorithms, and designing abstract tools to make writing and proving of the algorithms easier. There is often a lot of math involved. Here are some random keywords: Turing completeness [http://en.wikipedia.org/wiki/Turing_completeness] , Computational complexity [http://en.wikipedia.org/wiki/Computational_complexity_theory], Formal languages [http://en.wikipedia.org/wiki/Formal_language], Lambda calculus [http://en.wikipedia.org/wiki/Lambda_calculus]... Programming as a craft is about using existing tools (programming languages and libraries) and solving real-life problems with them. Also about developing practical skills that make cooperation and maintenance of larger projects easier. So, if programming as a craft is what 99% of programmers do, why do we even need the science? It's because without the science we wouldn't have the tools. At some point of history, procedural programming was an academic toy, and all commercial programmers were happy to use GOTO all the time. At some other point, object-oriented programming was an academic toy that didn't seem to bring any improvement to real-life problems. Today, procedures and objects are our daily bread, at least in Java/C# development, although most "object-oriented" developers don't
0Normal_Anomaly5yI'm taking a class in Haskell, and I'd really like to know this too. Haskell is annoying. It's billed as "not verbose", but it's so terse that reading other people's code and learning from it is difficult. (Note: the person I'm on a project with likes one-letter variable names, so that's a bit of a confounder.)

How has lesswrong changed your life?

by mstevens 1 min read31st Mar 201557 comments


I've been wondering what effect joining lesswrong and reading the sequences has on people.

How has lesswrong changed your life?

What have you done differently?

What have you done?