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

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.)




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: