Post
Topic
Board Bitcoin Discussion
Re: What programming language to learn?
by
martin
on 20/07/2011, 00:41:30 UTC
I learnt haskell in the 48 hours before my exam, which was apparently a very hard exam and I achieved the top classification in Wink

I learnt python in a week when I wanted to build a site for appengine.

I learnt every nook and cranny of java (shudder) in a 12 week group software development coursework project at uni.

The point here is the language that had the most impact was haskell, even though I learnt it the fastest - once I understood the concept the remaining two weeks *after* the exam I spent playing with it taught me very little beyond the precious "aha" moment when I suddenly "got it". The point of 7 languages in 7 weeks is to throw a load of different concepts at you so they all mix together in your head and you're comfortable using the best tool for the job. If you spend several years learning how to use a language and a paradigm you become extremely attached to both of them and start using it for jobs which it isn't ideally suited for.

Obviously once the seven weeks are up you should spend more time learning the languages and paradigms you like in detail, but the important thing is understanding the concepts behind the paradigms (maximising the "aha" moments) not the exact syntax of each language.

What's the use of learning the basics of a load of languages you'll never use any more? Well For example, I no longer use Haskell but still consider it one of my favourite languages because I use LINQ every day, I only love LINQ so much because of what Haskell taught me about the power of that kind of thing. I also develop a lot of networking stuff, and what I learnt from fiddling with erlang for about 12 hours (I never even really wrote a program in it, I just read a lot of the documentation and understood the concept) has a huge influence on that.