3 ms·
There is certainly some truth to this, but I don't think it captures the entire situation all that well. Given that we're largely speaking from anecdotal evide
by vezzy-fnord 12y ago
There is certainly some truth to this, but I don't think it captures the entire situation all that well.
Given that we're largely speaking from anecdotal evidence anyway, I'll share mine. The first non-ALGOL language I learned was Smalltalk, using Pharo. Its relative lack of syntax pretty much meant I could dive right in, with most practical programming involving the class libraries and navigating the Smalltalk environment with the integration intricacies of the binary image. I never really felt it as all that difficult though, even though imperative mindsets are allegedly supposed to make it that way.
The first functional language I learned (and the one I'm most proficient in) was Erlang. Despite being infamous for its unconventional Prolog-esque syntax, it took me only about 2-3 days to get comfortable with it and I breezed through Programming Erlang relatively quickly. I have since found it quite enjoyable to work with.
On the other hand, I never did manage to learn Haskell to any notable degree. I've always given up eventually, and haven't retried in a while. It's just a more complicated language.
- rasur 12y agoI too have been trying with Haskell in the past. I don't know, maybe I'm just dumb as a box of rocks.. I found working through learning Standard ML (which consequently has lead me on poking about with F#, but that's another tale), has been a considerable help in general for the ML style languages.
- nbouscal 12y agoI definitely agree that working with SML first can make learning Haskell a lot easier. There's a Coursera course from the University of Washington on the subject of Programming Languages, which teaches SML, Racket, and Ruby, and does a great job of helping the student adjust to the different mindsets for each language.
- the_af 12y agoI second the recommendation of Coursera's Programming Languages! Though I must say at times I found myself cursing at ML's default strict evaluation :) I found myself writing (relatively) convoluted code that would have been cleaner in Haskell.
- platz 12y agoThirded!
- rasur 12y agoBit of a late reply.. I've actually been following through the Washington University course from them directly (not via coursera). I guess it's similar if not identical as this also does SML, Racket & Ruby. Well worth the effort.