|
|
|
|
|
by GhotiFish
4855 days ago
|
|
I'm sorry, but as I've tried to learn Haskell in 2 month sprints 4 separate times and failed, I can not in good conscience recommend Haskell, ever. I like the language allot, but even the programmers I believe are extremely talented just cannot learn it, let alone 99% of people I have to work with who simply can not even begin to make use of the language at it's most basic form. A professor I knew, who was easily one of the more decorated in my university, claimed he knew Haskell. I had used Haskell to parse biomedical data for my course on biometrics, as the data was inconsistent and full of errors, the correct design was to create a monadic structure. I consulted that professor, and he was flummoxed, just on the basic structure of the program (which was done in a basic top down style of declaring the types and breaking large functions into small ones). I fully accept my inability to use the language in a useful way may just be symptomatic of me being an idiot. I fully accept that my professors inability to understand the language in a any way may be symptomatic of him being an idiot. But as big a failure as I am at learning this language, I can't imagine the result of tasking someone who doesn't enjoy programming with maintaining Haskell. If scala is worse, then that's just horrifying. |
|
But if we consider the resources to learn the language along with the language, then I think Scala dominates Haskell. Haskell was painful for me to learn because to become proficient I had to trudge through not only books but wikis, blogs, and code. There is nothing like Odersky's Scala book in Haskell. Learn you a Haskell, the Haskell wikibook, and Real World Haskell are all _terrible_ at preparing someone to become a proficient haskeller because while they show you the language they don't train you to think functionally.
In imperative languages you're giving a lot of sequential instructions to a robot. In functional languages you're programming the robot to understand a new language, and then you describe the way things ought to be in that language.