2009/7/22 John Fereira <[log in to unmask]>:
> Some good answers so far...
> First, regarding books. While the suggestion of avoiding "dumbed downed"
> books has some merit it is worth noting the distinction between books that
> are primarily used for reference and books that are more about theory. I
> haven't fund much use for "reference" books so much as usually the same
> material can be found online and kept more up to date. However, theory
> books on algorithms and software design can provide a good background on
> how, in general, to write good code.
Very true. And the paradoxical upshot is that these days, some of the
best books on programming are old ones, which a few years back would
have been thought of as outdated.
In particularly, I can't speak highly enough of Jon Bentley's classic
_Programming Pearls_ (originally 1986, second ed. 1999), which is
chatty and anecdotal yet rigorous, and will help you to _think_ like a
programmer, as opposed to merely accumulating techniques.
Maybe even better is Kernighan and Plauger's tour de force _Software
Tools_ (1976!) In 320 pages, they start by developing a program to
copy its input to its output, and end up by showing you how to design
and build a macro processor and programming-language pre-processor --
covering sorting, pattern matching and a hundred other topics along
the way. I know of no other book that goes from 0 to 60 so rapidly,
readably and painlessly. The language that the tools are written in
(RATFOR) is hopelessly outdated now, but the princples are timeless.
These are books that I have come back to time and time again. They
contain treasures worth a hundred time more than whatever currently
trendy Design Pattern is being pushed by this month's hot book.
Hope this helps.