Not all of the following books were used directly in the writing
of this book, but all have proved invaluable over the years in developing
my programming knowledge, style and philosophy. One way or another,
most of them might become powerful allies for you, too.
Bateson, Gregory. Steps to an Ecology of Mind. New York,
NY: Ballantine, 1973. Classic papers, witty and charming style;
what more could you ask? Includes an astonishing paper on dolphins
learning how to learn.
Bateson, Gregory. Mind and Nature: A Necessary Unity.
New York, NY: Dutton, 1979. Simple, but not easy.
Beckmann, Peter. A History of Pi. New York, NY:
St. Martin's Press, 1976. More than fascinating, spellbinding.
Bergin, Thomas J., and Richard G. Gibson, eds. History of Programming
Languages. Reading, MA: Addison-Wesley, 1995. Covers later
programming languages such as Ada, Algol 68, C, C++, CLU, Discrete Simulation
Languages, FORMAC, Forth, Icon, Lisp, Concurrent Pascal, Pascal, and Smalltalk.
Not nearly as fascinating as the 1981 Wexelblat volume, but worthwhile
Kernighan, Brian, and Dennis Ritchie. The C Programming Language.
2nd Edition. New York, NY: Prentice-Hall, 1988. I prefer
the first edition, but the second is somewhat more up to date. It's
all here; everything you need to know about C is in this book, along with
excellent general programming advice.
Knuth, Donald E. The Art of Computer Programming. Volume 1:
Fundamental Algorithms. 3rd Edition. Reading, MA: Addison-Wesley,
1997. Profound and indispensible. http://Sunburn.Stanford.EDU/~knuth/.
Knuth, Donald E. The Art of Computer Programming. Volume 2: Seminumerical
Algorithms. 3rd Edition. Reading, MA: Addison-Wesley, 1997.
Profound and indispensible. http://Sunburn.Stanford.EDU/~knuth/.
Knuth, Donald E. The Art of Computer Programming. Volume 3: Sorting
and Searching. 2nd Edition. Reading, MA: Addison-Wesley, 1998.
Profound and indispensible.
Lutz, Mark. Programming Python. Sebastopol CA:
O'Reilly, 1996. Fat, packed with information and technique.
Pythonistas who are already programmers will find this most useful.
Lutz, Mark. Python Pocket Reference. Sebastopol
CA: O'Reilly, 1998. Absolutely indispensible until you memorize
Lutz, Mark and David Ascher. Learning Python. Sebastopol
CA: O'Reilly, 1999. Informal, chatty, light style; for Pythonistas
with some programming experience.
Nahin, Paul J. An Imaginary Tale: The Story of the Square Root
of Minus One. Princeton, MA: Princeton University Press,
1998. Delightful and fascinating.
Niven, Larry. Rainbow Mars. New York, NY: St.
Martin's Press, 1999. Time travel. Barsoom.
Philip, Alexander. The Calendar: Its History, Structure and Improvement.
Cambridge, MA: Cambridge University Press, 1921. Delightful,
earnest and useful, this little book contains the only readable
and understandable explanation of epacts that I know.
Pirsig, Robert M. Zen and the Art of Motorcycle Maintenance:
An Inquiry into Values. New York, NY: William Morrow &
Company, 1974. Read the section on being stuck. Read the section
on handlebar shims. Check out Steele and Disanto's
Press, William H., Saul A. Teukolsky, William T. Vetterling and Brian P.
Flannery. Numerical Recipes in C: The Art of Scientific Computing.
Cambridge MA: Cambridge University Press, 1993. Good stuff,
and useful, but watch out. There's a whole web site (http://math.jpl.nasa.gov/nr/nr.html)
dedicated to errors and inefficiencies in this book. But it's a good
collection of starting points, anyway.
Steele, Thomas J. and Ronald L. Disanto. Guidebook to Zen and
the Art of Motorcycle Maintenance. New York, NY: William
Morrow & Company/Quill, 1990. Worthwhile roadmap.
Suzuki, Shunryu. Zen Mind, Beginner's Mind. New York,
NY: Weatherhill, 1972. Well, what did you expect?
Thompson, J. Eric S. Maya Hieroglyphic Writing: An Introduction.
3rd Edition. Norman, OK: University of Oklahoma Press, 1971.
Dated (the first edition came out in 1950) and not particularly helpful
as far as glyph translations go, but important and useful from a mathematical
standpoint. Learned, turgid style to which some have objected violently.
Watters, Aaron, Guido van Rossum and James C. Ahlstrom. Internet
Programming With Python. Foster City, CA: IDG Books Worldwide,
1996. Nice emphasis on CGI programming from Guido himself, among
Wexelblat, Richard L., ed. History of Programming Languages.
Chestnut Hill, MA: Academic Press, 1981. Fascinating, entertaining
history of many of the earlier programming languages; C, C++ and so on
are not covered, but all the fundamental and original languages are.
FORTRAN, APL, Simula, COBOL and so on. You can spend weeks on just the endpapers.