it’s been said that learning lisp makes you a better programmer, even if you never use the language[who?].
that’s because if you’re used to c/c++/java/etc., lisp introduces the idea of code as data, and encourages a functional style.
in the case of clojure, it also gets you thinking about concurrency, and pushes the functional thing further.
haskell is a different beast entirely.
it also has plenty of foreign concepts to wrap your head around, but the difference is that you’ll be knee-deep in research papers within a day of writing your first “hello world” program.
and if you want to know how that “hello world” program works, you’ll need to read a paper.
Tags: clojure, haskell, programming, programming languages
March 13, 2010 at 8:38 pm |
“if you want to know how that “hello world” program works, you’ll need to read a paper.”
That’s not true. Haskell attempts to give rigorous foundations to what is ad hoc and undefined in other languages — that is all.
Just because C++ can’t tell you what it is doing, doesn’t mean that it isn’t ridiculously complicated or hard. On the other hand, Haskell can give you very good reasons for why things are they way they are.
March 13, 2010 at 8:52 pm |
what you’re getting at is that you technically do need a research paper or similar to understand how c++ does it, too. yes? not that haskell does not require it?
my basic point is that haskell is a research language, so learning it will expose you to a lot of language research. some of it will be things you can take back to c++ with you.
March 13, 2010 at 8:43 pm |
I think your opening quotation may be based on Eric Raymond. See http://www.paulgraham.com/avg.html
March 14, 2010 at 2:34 am |
http://learnyouahaskell.com/
That will get you a long way without the “research papers”.