Why I want to learn Haskell
I wish I had a well-informed reason to learn Haskell. Something like "I have studied all the other options available to me, and have determined through statistical analysis that Haskell is the correct language for me to invest my time in learning". I wish I could say that.
But I can't. I want to learn Haskell because my friend Dan is learning it.
Dan is an amazing guy. He loves coding. So much so that I can't point you to his blog because he would rather write code than blog posts. He's been coding for years. Started off with PHP & Perl, transitioned to Ruby, and has now become smitted with Functional Programming. I started off with PHP & Perl too, muddled my way through Python and Ruby, and have been trying to write code most of my life. So why Haskell? Why now?
In addition to learning a language my friend Dan likes, my other justification comes from a quote from Christopher Allen's book "Haskell Programming from First Principles":
We use Haskell because it is easier (over the long run) and enables us to do a better job.
That’s it.
I'm a "should not run with scissors" kind of guy. I can write code, but I quickly make a mess and end up cutting myself. There are still so many things I want to create with code, but without something that makes my life easier in the long run I will end up coding myself into a proverbial corner and end up confused, frustrated, and no further along than I have been in the past.
So today marks my first day re-re-re-committing myself to learning Haskell :)
Good luck. It is a beautiful language BUT if you come from an OO world will melt your mind :)
I have spent a couple of years scraping the surface of it . You might struggle with the way it expects you to work. It is like learning to code again from the ground up.
It will improve you code in all other languages a great deal, you will find the way you code changes.
I have picked F# (ML language which haskell can trace roots back to) as it fits in .NET so can hook into C#.
Take a scan through my articles if you want some tips on the mindset. I have been exploring functional use in the imperative world. My earliest has some stuff on functional for the OO programmer :)
Enjoy the journey. You have an extra follower :)
Thank you :) Really appreciate you taking the time to follow and reply. You've gained another follower as well.
The monadic stuff I am doing in C# all has grounding in haskell :)
The LINQ query syntax is really a direct port of the haskell do notation with different syntax sugar