Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

No mention of SICP - the CS classic that's not only decently rigorous, but actually inspires the fun and joy of programming, as it promises in its Preface:

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html



There are tons of other books that could be there, too. Any "top X books for field Y" list is going to be a bit arbitrary, probably telling you as much about the people who wrote the list as the field itself.

That said, I'd also suggest:

* Concepts, Techniques, and Models of Computer Programming by Peter Van-Roy and Seif Haridi ("CTM"), which covers several different programming approaches. Not about different languages, but their underlying models, and ways in which they can be combined.

* The Art of Prolog, by Sterling & Shapiro - An excellent book on logic programming, using Prolog for exercises. (CTM also touches on Prolog, but this book goes quite a bit deeper.)

* The Lambda papers - http://library.readscheme.org/page1.html

* _Lisp in Small Pieces_ by Christian Queinnec ("LiSP"). On implementing Lisp, strongly skewed towards Scheme.

* Paradigms of Artificial Intelligence Programming by Peter Norvig ("PAIP"). AI, problem solving techniques, Lisp practicalities and implementation, Prolog, tons more. Extremely lucid. (I wish it was a hardcover, though.)

* C Interfaces & Implementations by David Hanson - an excellent book on how to design C library APIs, including quite a few useful libraries.


Upvoted for the PAIP mention - Any book that can totally shift your conception of what programs can do within the first three chapters has to be up there. I know plenty of CS students from university that currently work writing software (I did Maths) who still look at me like some sort of he-witch whenever I do or suggest something data-driven as a solution to a problem, but it's that book that did it for me - it's almost a shame that the only people of my age likely to have read it are the lone "I code out of interest" types that are always on the look-out for a good mind-bending.

(the greater shame, of course, is that these people are less likely to find a satisfying job in the area than their seemingly uninterested CS-grad friends (grumble grumble))


I know what you mean...I did history. :) (I've been programming since I was 5 or 6, though.)

If PAIP doesn't get you into data-driven programming, _The Art of Prolog_ definitely will.


And speaking of logics, Prolog, and language. This is certainly a classic (SICP for Prolog?):

Prolog and Natural-Language Analysis, Fernando C. N. Pereira and Stuart M. Shieber

http://www.mtome.com/Publications/PNLA/pnla.html

http://www.mtome.com/Publications/PNLA/prolog-digital.pdf


"SICP for Prolog" would probably be _The Art of Prolog_ by Sterling & Shapiro, mentioned above.

Clocksin's _Clause and Effect_ would definitely be the _Little Schemer_ of Prolog. (No elephants or PB&J, though.)


I liked this list because it includes more books that I haven't read (and a few I hadn't heard of before today) than the last several lists like this posted to HN. The books look solid (I know of some of the authors) and the topics are well chosen.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: