Saturday, October 24, 2009

How to learn a new language...

I just want to note down the path I'm following to learn a new language, In this case its scala.. but the path is pretty generic...

>Understand the philosophy behind the language, what is unique about it because if you don't understand the philosophy you can't really *think* in it and master its idioms. Scala lets you write programs in functional as well as oo paradigm. It helps to have been read books like SICP and CTM because they're the best books to get an understanding of various programming paradigms.

>Find the best book available for the language, read...*work through* it. Usually the books written by author of the language or certain person who has *written* a lot of code in that language are good. In this case, I find "Programming in Scala" by Martin Odersky very helpful.

>Usually languages(and their libraries) are open source, get their code.. build it. Read the code whatever you can because only if you can understand the code written by authors of the language then you're really getting it. It also helps learning idioms of the language and helps you thinking in the language.

>Help others, Subscribe to the language users sort of mailing list, follow the discussions there, contribute in terms of the answers to the questions or code if someone is looking for some way of doing something in that language and you know it.

>Pick up any small standard libraries(for example List, Hashtable etc), Implement it yourself without looking at its code from the source. Then compare your implementation with that from the source code by the authors(or masters of that language).. once you do it 3-4 times then you'll really begin to write good code in that language.

>Write code in it :). Maybe, you can try to write some programs that you've written earlier in some other language... since you'll already be familiar with the problem and its solution so you can concentrate on "how to do it in scala" part.

No comments:

Post a Comment