
A book by Peter Seibel, from 2009, consisting of interviews with various
accomplished programmers:
- Jamie Zawinski -- Lisp hacker, early Netscape developer.
- Brad Fitzpatrick -- creator of LiveJournal, memcached, Perlbal.
- Douglas Crockford -- creator of JSON, involved in the development of the
JavaScript language.
- Brendan Eich -- creator of JavaScript, current CTO of Mozilla
Corporation.
- Joshua Bloch -- has led the design and development of several major
features of Java.
- Joe Armstrong -- creator of Erlang and the Open Telecom Platform
(OTP).
- Simon Peyton Jones -- a major contributor to the Haskell programming
language, and lead developer of the Glasgow Haskell Compiler (GHC).
- Peter Norvig -- a computer scientist with wide-ranging interests, currently
the Director of Research at Google.
- Guy Steele -- has been involved in defining Common Lisp, Fortran, C,
ECMAScript, Scheme, Java.
- Dan Ingalls -- the main initial implementer of Smalltalk, inventor of
BitBLT.
- L. Peter Deutsch -- creator of Ghostscript, the author of some notable
implementations of Smalltalk and Lisp.
- Ken Thompson -- the main developer of Unix, creator of the B programming
language, Belle chess computer, and UTF-8 Unicode encoding.
- Fran Allen -- pioneer in the field of optimizing compilers, the first
female IBM Fellow and the first female recipient of the Turing Award.
- Bernie Cosell -- one of the main software developers for ARPANET routers,
Lisp hacker, creator of DOCTOR (a version of ELIZA).
- Donald Knuth -- the author of "The Art of Computer Programming", creator of
TeX and METAFONT, inventor of literate programming.
The interviews are pleasantly lengthy and detailed, and include discussions
on how the person got started with programming, their work on various projects,
how their views on programming have changed over time, their approach to
designing software, how they do debugging, their views on formal proofs of
program correctness, how they approach reading code written by somebody else,
their feelings about commenting and documenting the code, how to recognize a
good programmer, the teamwork aspects of software projects, whether they
consider themselves a scientist, an engineer, an artist, a craftsman, or
something else, the question whether nowadays' programmers should bother
learning what goes on at the low machine level, whether programming is a young
person's game or can be done well by older people as well, and much more.
The scope of the discussions is satisfyingly broad, ranging from
contemplations about big high-level issues down to the detailed stories and
technical explanations without any fear of scaring off some potential readers /
buyers of the book. Instead of trying to write a book acceptable to everybody
(which, on the flip side, might not be outstandingly exciting to anybody in
particular), the author has chosen a specific target audience and caters to it
remarkably well.
So, "Coders at Work" is a collection of interviews with great programmers,
done by a good programmer, and intended to be read by programmers. And if you
ARE a programmer, there is a very high probability that you will love this
book.
More info about the book at Amazon: http://www.amazon.com/dp/1430219483