Haskell is different
After trying to force myself to learn RoR, I was advised by daGrevis instead to learn Haskell.
The tutorial was great. And I'm actually excited about the language.
Learning languages has become less interesting for me now that I 'know how to do it':
(This section is highly skippable...)
Learn how to declare a variable
Is it typed? How do you convert types
Compare some variables.
What types of collections does it have?
Construct the one which has keys in order, do some sorting and stuff
Construct the one which has names for keys, and do some lookups and stuff
Write an If, then a For, and possibly a Foreach
Figure out functions, are variables passed by reference or value?
Are functions variables?
Make a class with a function
Give the class a member, make the function return the member
Make the constructor set the member
Make a method set / modify a member
Work out how to put the classes into separate files.
Find some other people's files with classes.
Rewite a trivial application in it.
Write part/all of a client's application in it.
Congrats, you know how to do the same thing you already knew how to do. And have another line for a CV. 'It's in the toolkit'. w00t.
node.js was slightly more interesting because it doesn't usually do 'a' Then 'b', but do 'a', 'b' and 'c', and when you are done with 'b', do 'd'. But that wasn't that different to AJAX in the browser.
Anyway, none of that was about Haskell. In the tutorial, I didn't learn about variables until step 8, didn't learn classes at all, and wrote some nice map and filter functions in step 13.
Then: "Given the same inputs, these functions always return the same results." (why-functional-programming-why-haskell)
This is a different kind of programming. I don't know what it does or what I will use it for. I can't write a 'translation cheat sheet' for it.
Preparing to be stretched.