Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Good Programming Books to Teach Programmers New Languages?
7 points by tshaddox on March 15, 2009 | hide | past | favorite | 6 comments
What are some good books to teach a programmer a new language they've never used before? For example, I'm decent at Java, but haven't gotten into Python much yet. It seems like all the Python books I've skimmed are one of two types: so basic that they spend most of the time teaching basics of programming, which I'm already familiar with, or so advanced that they already require good working knowledge of the language.

I'm looking for a good balance between these: a book that assumes you know about programming basics, but focuses on what's DIFFERENT about the new language.




Programming in Lua is an excellent example of what you're looking for. The first edition is available online at http://lua.org/pil/. Slashdot has a good review of the Second Edition at http://books.slashdot.org/article.pl?sid=06/10/25/147203.

For Python, I believe you're looking for http://www.diveintopython.org/


My endorsement of Dive Into Python:

The author assumes you know how to program, and teaches you how to program in Python. He does this by, at the beginning of a section, presenting a working chunk of code between 10-30 lines long. Then he spends the rest of the section explaining what those lines do, and explaining when you'd want to use those techniques. I liked this approach because I knew where he was going in each chapter, and I could use my own experience as a programmer to figure out what was going on, and skip his explanation if I already figured it out.


If you know a little Python, I recommend the Python Cookbook by Alex Martelli http://www.amazon.com/Python-Cookbook-Alex-Martelli/dp/05960... It is completely different from other types of books which are either references or tutorials which build some kind of project. It has hundreds of little recipes with discussions. The book is very readable and very useful, starting with simple functions, ending up with some pretty hairy stuff. 5 stars.


"JavaScript: The Good Parts" by Douglas Crockford is a good, concise, opinionated crash course in JavaScript. It demonstrates the full power of the language, but also teaches you how to avoid real-world compatibility and performance traps. One of the few books that's useful as both a tutorial and a reference. http://oreilly.com/catalog/9780596517748/

"Programming Erlang" is a good introduction to both the language and the way of thinking about programs as highly distributed, multi-node systems: http://www.pragprog.com/titles/jaerlang/programming-erlang

"Real World Haskell" is a very fun book, with a ton of good lessons to absorb, and impressive real-world example code. Some of the later material is pretty dense, though, and I'd plan on spending some real effort working through it, especially if you haven't used any similar languages before. (I've done SML, Lisp, and Prolog, and I still had to work hard to understand parts of RWH.) http://www.realworldhaskell.org/blog/


I recommend Python in a Nutshell, 2nd Edition by Alex Martelli. It is very concise, without the newbie stuff, and does point out some specifics that might surprise someone coming from Java and other languages. It's a good Python library reference to have on your bookshelf, too.

This book covers up to Python 2.5, but you could then read about the changes in Python 2.6/3.0 at:

http://www.python.org/doc/


Thanks for the replies, I'll keep this page bookmarked for future reference.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: