

Ask HN: Good Programming Books to Teach Programmers New Languages? - baddox

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.<p>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.
======
enduser
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/>

~~~
scott_s
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.

------
russell
If you know a little Python, I recommend the Python Cookbook by Alex Martelli
[http://www.amazon.com/Python-Cookbook-Alex-
Martelli/dp/05960...](http://www.amazon.com/Python-Cookbook-Alex-
Martelli/dp/0596007973/ref=sr_1_1?ie=UTF8&s=books&qid=1237149921&sr=1-1) 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.

------
rg123
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/>

------
mbrubeck
"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/>

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

