There's something about a book, whether physical or digital, that's attractive to both programming newbies and seasoned experts. Maybe it's how books function as snapshots of the truth, a fixed moment in time of what one needs to know about a topic and how to know it.
That said, programming books can be costly. The copy of Mark Lutz's "Learning Python" on my desk carries a list price of $59.99. But free e-books and PDFs for several languages, frameworks, applications, systems, and disciplines are available.
Here are 19 titles that have caught our eye over time, ranging in difficulty and appropriateness from absolute beginner to seasoned expert, and organized by general topic or language.