On Wed, Jul 22, 2009 at 3:22 PM, Mike Taylor<[log in to unmask]> wrote:
> 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
Indeed, there are timeless masterpieces like the "C programming
language". Good programming language books usually follow a
step-by-step approach - they introduce a couple of fundamental ideas
and basic elements and give an example of a real-life (or close)
problem that gets solved by that. E.g. in TCPL right after presenting
the basic C syntax there is a naive implementation of standard Unix
"wc" to illustrate that. The book does not get anywhere near pointers
before the 100th page or so. Reference-like books are not worth a
dime, they tend to be so boring that you don't go passed the first
chapter without yawning.
> 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.
You surely don't mean the GoF classic here, do you? It's a must-have
for anyone doing serious OOP, be it Java/C# or C++. It's a rather
demanding lecture and one should stay away from it unless he really
feels needing it :). It's known to do more harm than good at times.
Nevertheless, It does save you from re-inventing the wheel each time
you have a particular design problem.
> Hope this helps.