Hacker News new | past | comments | ask | show | jobs | submit login

A lot of people are of the opinion that you can pick up a new language very quickly, but I disagree strongly. Being able to formulate a basic program is easy, learning to be fast and efficient and effective is another matter entirely.

Personally, I'd pare that schedule right down. If you don't need a specific language, I'd start by learning the basics with Python. It's clear, readable, comes with a brilliant standard library, is very useful for all sorts of things and is a fairly 'normal' high-level language - what you learn in Python will be very broadly applicable.

Once you can competently write software in Python, the logical and inevitable next language is JavaScript, which is as useful as it is ugly. It's a terrible first language, but it's a brilliant second one, mainly because it's so useful. Obviously there's client-side web stuff, but also servers with node.js, smartphone apps with Appcelerator Titanium, Chrome plugins and a whole variety of other stuff. Javascript is very similar indeed to ActionScript, so you should find it fairly easy to pick up Flash and Air, giving you the opportunity to do all sorts of rich web stuff, develop multi-platform apps with Air or develop for the upcoming Blackberry Playbook.

You'll pick up HTML and SQL by default and while it's worth having a book or two on standby, you'll probably find yourself learning what you need as you need it.

As regards books: http://learnpythonthehardway.org/ http://www.greenteapress.com/thinkpython/

There is no good introductory text on JavaScript, but try: http://oreilly.com/catalog/9780596517748/ http://oreilly.com/catalog/9780596101992/

Now go out and build something.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact