
On 2007-01-29, Alexy Khrabrov
How do people stumble on Haskell? I've taught ML at UPenn, and many
Fascinating thread. Awhile back, I decided that, once I got familiar and comfortable with a programming language, I would learn a new one. I tend a learn a new language every 1-3 years on average. I had been a convert from Perl to Python a few years back. I got comfortable with Python and decided I want to learn a new language. I looked at a number of them. Rejected Ruby because it was too much like Python, Erlang because it didn't seem general-purpose enough, Haskell because its library seemed small at the time and the focus too academic. I eventually learned OCaml. OCaml was an interesting experience. It had some nice features. But I/O was absolutely infruriating. OCaml's default I/O system can't handle files opened read-write, for instance. It also has two distinct list-like types: one that's lazy, one that's not, and they require two distinct sets of functions to work with. The object system also is complicated. The syntax and whole idea of .ml vs. .mli file felt very dated and the build system was extremely difficult to get right. So I again searched out a language, with largely the same results for everything except Haskell. I can't remember exactly what changed my mind about Haskell. It may have been Cabal, it may have been Darcs, or something else. In any case, I decided to pick it up. I was pleasantly surprised that Haskell seemed to have all the things I liked from both Python and OCaml and none of the annoying things from either. It's been a fun experience. Haskell is the only language I've ever learned in which I have used it for something like 2 years, written numerous applications, developed several libraries, even written links to C and Python, and still consider myself a newbie. And that is a GOOD thing. -- John