4 ms·
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 th
by silentbicycle 16y ago
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 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.
- J_McQuade 16y agoUpvoted 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))
- silentbicycle 16y agoI 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.
- danieldk 16y agoAnd 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/pnla.html http://www.mtome.com/Publications/PNLA/prolog-digital.pdf http://www.mtome.com/Publications/PNLA/prolog-digital.pdf
- silentbicycle 16y ago"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.)