Everyone says you should start with Python. Everyone’s right. It’s a beautiful language in which you can write good, concise, elegant code. Lots and lots of shops use it.
If you want to learn a second language, to give yourself some sense of the diversity available, I’d recommend Haskell. I think Haskell conplements Python nicely because a) it’s nicely designed and b) it’s almost nothing at all like python. It’s fantastically strict where Python is fantastically permissive. It’s functional where Python’s object-oriented, etc.
I honestly don’t know what the best Python tutorial is—I learned from a handful. The best Haskell tutorial in the world is Learn You a Haskell for Great Good
I’ve been reading this book and enjoying it. At first I couldn’t get into the groove because I got bored/distracted while reading the intro, but I was able to get started right away with the slick interactive web interface at Try Haskall, after which coming back to LYAH had more appeal.
Some thoughts:
Haskell shares plenty of syntax with Python, Ruby, and Javascript that you don’t see in Perl or C. For example the way lists and tuples are represented, and the filter and map functions.
Getting into something right away with instant feedback reduces Delay so the Procrastination Equation comes out more favorable. So to those struggling with akrasia, the web app is worth a try. Similar apps exist fot for Ruby and Python.
Intros in programming books are something you should probably skip (or skim) and get into the examples, which you should start trying out asap. It is important to get positive feedback if you want to generate sustainable interest.
Once you’ve achieved a certain amount of interaction with the language to the point that it is clicking with you, front matter stuff and technical explanations will become much more interesting. (You may wonder why you thought they were boring.)
In this particular case, I had a harder time starting LYAH during the evening than I did during the morning. There could be some possible state-of-mind considerations there—e.g. less patience for the jokes and digressions due to end of day fatigue, less “room in my brain” for the new concepts. Tentative hypothesis: It’s optimal to do something that is more a matter of rote typing and simple response (like Try Haskell) later in the day whereas something involving intellectual learning (like reading Learn You A Haskell) works better during the morning.
Everyone says you should start with Python. Everyone’s right. It’s a beautiful language in which you can write good, concise, elegant code. Lots and lots of shops use it.
If you want to learn a second language, to give yourself some sense of the diversity available, I’d recommend Haskell. I think Haskell conplements Python nicely because a) it’s nicely designed and b) it’s almost nothing at all like python. It’s fantastically strict where Python is fantastically permissive. It’s functional where Python’s object-oriented, etc.
I honestly don’t know what the best Python tutorial is—I learned from a handful. The best Haskell tutorial in the world is Learn You a Haskell for Great Good
The “other” Haskell tutorial is also worth a mention: Real World Haskell. (That said, I prefer LYAH.)
I’ve been reading this book and enjoying it. At first I couldn’t get into the groove because I got bored/distracted while reading the intro, but I was able to get started right away with the slick interactive web interface at Try Haskall, after which coming back to LYAH had more appeal.
Some thoughts:
Haskell shares plenty of syntax with Python, Ruby, and Javascript that you don’t see in Perl or C. For example the way lists and tuples are represented, and the filter and map functions.
Getting into something right away with instant feedback reduces Delay so the Procrastination Equation comes out more favorable. So to those struggling with akrasia, the web app is worth a try. Similar apps exist fot for Ruby and Python.
Intros in programming books are something you should probably skip (or skim) and get into the examples, which you should start trying out asap. It is important to get positive feedback if you want to generate sustainable interest.
Once you’ve achieved a certain amount of interaction with the language to the point that it is clicking with you, front matter stuff and technical explanations will become much more interesting. (You may wonder why you thought they were boring.)
In this particular case, I had a harder time starting LYAH during the evening than I did during the morning. There could be some possible state-of-mind considerations there—e.g. less patience for the jokes and digressions due to end of day fatigue, less “room in my brain” for the new concepts. Tentative hypothesis: It’s optimal to do something that is more a matter of rote typing and simple response (like Try Haskell) later in the day whereas something involving intellectual learning (like reading Learn You A Haskell) works better during the morning.