By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Soleron said:

After you understand what programming is meant to do, picking up another language is a half day with a book or online guide.

I think that rule of thumb only applies to languages within the same programming paradigm. For example, if one already knows C++, then learning another imperative programming language like Java will be rather fast, but learning a logic programming language like PROLOG will take longer.

I have experience with C, C++, Java, Java-/CoffeeScript, LISP, Python, PERL, PHP, BASIC, some Assembler variants (and probably some other languages I forgot or don't consider to be a real programming language, like HTML). Of those, Python is clearly my favourite.

Btw, if someone is interested in learning hist first programming language, I'd personally clearly advise AGAINST some strict imperative programming language like C++ or Java, even though they are so popular and thus seem like a good language to learn. These languages have lots of "unnecessary" overhead and potential hurdles that will frustrate beginners. From a didactic point of view, it's much wiser to begin with a very simple language that comes with an interactive shell, even if that language might be rather unpopular. When someone begins with a simple, uncomplicated interactive language like Python, he can play around and he will get results quick, which is essential to no staying motivated.

In fact, if someone seriously wanted to learn programming, my absolutely best advice would be to download the free software/IDE "Racket" ( http://racket-lang.org/ ) and learn the language by simply following the superb free tutorial/book "How to design programs" ( http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html ). Most people would probably be sceptical because they've never even heard of "Racket", but it's actually just a very cool LISP/Scheme variant that is extremely satisfactory to learn.