The 9 Best Programming Books I Have Read (so far)

Flattr this
Below you can find a non exhaustive list of the best programming books I have read so far. I have read a lot more books about programming, but most of them I read and promptly forgotten about them: they are not worthy of being in this list of bests. I am reading currently a few more (Code Complete, Thinking Forth), and maybe they can make it into a list like this that my future self writes.

And now, the list of the best programming books I have read so far. I'm currently on and off with Thinking Forth, but it is still to early to tell if I like it. I like Forth programming (as I like Lisp, C or almost any other language...), and so far the book looks damn good. But there's a lot to learn from there and it will take me a while to grasp it... and consider turning this into a list of 10 books.

Do you have a really good programming book to suggest? Please post it in the comments, I'll try to have a look at it.



Best Programming Books: Kernighan and Ritchie C
Kernighan & Ritchie's The C Programming Language

This was one of the first programming books I read on its fullest, and probably the only one I was really forced to do so. In my first year in the University, I was required to program in C, and previously I had only programmed in Basic (Visual Basic, GW-Basic, QBasic), Pascal (Turbo Pascal for MS-Dos and Windows). The first semester was ok, as we were taught the basics of the language, but I wanted more and started reading this book (loaned from the library). I like it a lot, learnt a lot and I still think that its clear style and simple examples make it the best language specific programming book I will ever read... If we don't pit it against the following. Obviously, this is a 'dry' book: I would never recommend it to someone who was beginning to learn programming... But he should read it.



Paul Graham's ANSI Common Lisp

This is probably the best programming book I have read. I learnt about Lisp a long, long time ago, but stalled on it until I stumbled upon Graham's site, and read his somewhat inspiring history behind Viaweb. Decided to give it a try, and have loved this language since then. My first buy from Amazon was this great book, and won't ever regret having bought it, would probably even be one of my 10 books to take to a desert island. Worth a buy, and even a second buy to give it as a present to a programmer friend.





Friedman & Felleisen's The Little Lisper

A little and short gem among programming books, teaches recursion, some programming and a little subset of the Lisp language to anybody in a little number of pages. It is worth a read, even if you have been into programming for a long time.




Update: readers suggested that The Little Schemer is better, these days (for price, mostly). But the same review applies



Hunt & Thomas' The Pragmatic Programmer: From Journeyman to Master

This is probably one of the most recommended books on programming, and for a clear reason: it will make your life easier, once you grasp everything it has to teach. Buy it. Now. And read it as soon as you have it.




Adobe's Chapter 8 of The Postscript Programming Language Reference Manual

The PPLRM is a huge book, with lots and lots of information. And yet, the only part I have ever used is Chapter 8: Operators. Almost anything can be found in here, if you know how stack-based languages go. Concise and to the point: is just a chapter on how operators work.

Buy on Amazon link (full book, of course)



Watt & Mangada's Basic para niños

This translates as Basic for kids, and it is a really lovely book. My first programming book, I learn a lot from it (although maybe too many goto's ;) It is a wonderful book for teaching programming to children between 5 and 11 years old. Do you readers know if there is something similar but up-to-date?

Not available to buy (AFAIK)


SAMS' Teach Yourself Python in 24 hours

Yes, I fell for the Teach Yourself X in N hours/days, but this book is good. It feels more like an introduction to the language than one of those standard rubbish books. But after a while, you grow to hate the Mayan calendar examples the author loves, sadly.



Friedman & Felleisen's A Little Java: A Few Patterns

I though I should give a try to another Friedman-Felleisen combination. This is not as good as The Little Lisper, but it does not mean it's bad!. Just not the same type of book. Worth a read to get some insights in Java, but loaning from the library would be a safer bet. I would not probably buy it.

Buy on Amazon link
Buy on The Book Depository (free international shipping)


Abelson & Sussman's The Structure and Interpretation of Computer Programs

A classic one... Known as The wizard book, for its cover. But I think I just read half of the book, from re-reading the Contents. Maybe I forgot everything? Focused on programming in Scheme, it teaches a lot about general computer science. Worth having, but it is quite a hard read. It is freely available.




Affiliate Link Disclaimer: For each sale that is made through the purchase links in this post I get a small commission (that does not affect your final purchase price!). Of course, I'd love if you bought this book through these links, but I have tried my best to make my review faithful. I don't want anyone to come later at me and say they were tricked into buying the book and the review was unfaithful to the book. Anyway, I won't get rich quickly (not even slowly) by these sales, but they will work toward paying the normal upkeep of this blog. Keep in mind that The Book Depository has free international shipping!


Related posts:

16 Awesome Comments. Add Yours!:

Anonymous said...

A very good selection, including three of the most important ones to read (Little LISPer, Pragmatic Programmer, SICP).

Note that The Little LISPer has a newer and much less expensive edition titled The Little Schemer with examples in both Lisp and Scheme.

RBerenguel said...

Someone already pointed that in news.ycombinator. I will try to get a copy to read it, it should be an interesting read. Thanks!

Oscar said...

I have to say that of these books I only read SICP and the pragmatic programmers book. Looks like a very good list tough.

RBerenguel said...

The SICP is sure a hard one. The one I enjoyed the most, as reading goes was the PP, but on the programming side, ANSI Common Lisp is definitely great.

John | Retro Programming said...

Are you reading the new edition of Thinking Forth? It's been on my wish list for a while.

Have you had chance to read Programming Pearls or Hacker's Delight yet?

RBerenguel said...

I'm reading the PDF (in my iPod, when I'm in programming-reading mode) from this page: http://thinking-forth.sourceforge.net/
I am considering turning it into its own book (bookbinding soft-cover is easy: http://www.mostlymaths.net/2009/04/easy-paperback-book-binding-how-to.html ). I may buy it if I enjoy it a lot

I have looked at Programming Pearls several times, but it doesn't pull me to buy it. Have you read it? Any thoughts? Recommend it?

John | Retro Programming said...

I've been debating whether to buy Programming Pearls and/or Hacker's Delight. I've just ordered some early issues of Dr Dobb's Journal. Maybe I'll get a copy of Hacker's Delight after I've finished reading those :-)

Gabriel C. said...

Ahhhh "Basic para ninios" I'm sure I've read that! (looooong time ago)

I'm working though "The Little Schemer" and looks very good so far

RBerenguel said...

Basic para niños is probably the one I'll remember longer, it was the first... And 'The little lisper', too, because it is a different kind of book.

Glad you like 'The little schemer'! I'll have to check it, everyone says it is better than 'The little lisper'

Max - The IT Pro said...

Dude, greetings from East Africa via Canada via Barbados! :-)
When I was in the Ottawa Python Area Users Group around 2004, I was given a free copy of "Painters & Hackers" by Paul Graham of ViaWeb fame.
I will definitely have to take a peek at his Common Lisp book. I've heard from various Netizens that reading or learning about Lisp helps you to be a BETTER programmer.
Do you agree?
BTW, I got the itch for programming after reading Douglas Stivison's "Introduction to Turbo Pascal" a loooong time ago when I was still in high school.

Cheers!

Ruben Berenguel said...

Well, I don't know if I program better after learning Lisp, but Lisp is a whole lotta fun! And he definitely writes well, so reading ANSI Common Lisp is really worth it.

I also learnt Pascal a long, long time ago... It was fun, a lot different than Basic stuff... And then I learnt C and everything was a lot better :D

Ruben

John | Retro Programming said...

I've picked up copies of K&R (1st edition), The Little LISPer (2nd edition) and The Little Schemer (4th edition) over the last few months. Thanks for the recommendations :-)

Is it time for an update yet to cover anything new you've read?

RBerenguel said...

Hi John! I've been pretty busy, and I have only half-read Thinking in Forth (I should re-start... Half forgotten, too) and a few books in simulated annealing. I have also a recommendation for a book on Erlang.

What do you think of K&R?

John | Retro Programming said...

I like the fact K&R is concise and gets straight to the point. I'm not keen on programming books that are bloated just for the sake of increasing the page count. I also picked up a copy of "The AWK Programming Language" but haven't read it yet.

This year I'm aiming to review a programming book every month. I've just ordered a copy of "Stack Computers: The New Wave" so that might be next :-)

FromDev said...

Thanks for sharing, some of them are my all time fav books and on my kindle. I would want to add few more to the list. like the dont make me think.

Ayisha said...

Thanks for free Programming books.