Books on Programming and K&R
Via Leslie M. Orchard, I came across this critique of Andrew Dupont's book on on Prototype and script.aculo.us by Mark Bernstein:
When chemists consult a volume about professional chemical technique, or when surgeons reach for the latest update on neuroanatomy, they can usually find a book that isn’t couched in terms of silly examples and jokes. So can poets, mathematicians, and geologists. For some reason, though, it has become the accepted practice that language manuals should spend lots of time with silly, self-deprecating jokes, and that their example applications should be breakfast loggers and fantasy football leagues (or, conversely, payroll programs). [...] I don't need the inevitable chapter 1 pitch for the wonderfulness of Javascript and the badness of MSIE, but it might be a good place for a quick summary for the pros. Call by reference • no pointers • primitives are objects • everything has a prototype slot • parens() do this, braces {} do that, brackets [] do something else • single and double quotes are different. Kernighan & Ritchie did this so well in C, and it’s not like we’re not familiar with their example.
Leslie disagrees; I don't: I have had the same problem with many books, especially on the new and hip stuff such as Ruby and Rails. To me, too, Kernighan and Ritchie's C Programming Language is the perfect model for a book on a programming language, and most other technical topics, too. And I very much prefer The Ruby Programming Language to The Pickaxe for the same reason.
I think another very good example of programming book (although a bit biased for obvious reasons) is The Django Book (@http://www.djangobook.com/). It presents the information as it is, not trying to compare with other languages, and it provides quite extensive documentation on the inner workings of the framework, instead of relaying on a lot of examples to explain the obvious.
Still, K&R is the best. And anyone that says otherwise should notice how that book, being some 20 years old, is still one of the most expensive you can find in your local library. I discovered that while trying to find a used copy in Cambridge last year (hint: there is none).
Specifications fill some of that niche (and they’re a luxury mathematicians and neuroanatomists don’t have); JavaScript, CSS.
True, although formal specifications are of course available for standardized stuff only, and often not exactly accessible.
You are not the first I read to express a preference to the O’Reilly book over the Pragmatic one… So I became interested in buying the next edition of The Ruby Programming Language once details about 1.9 are definitely settled, instead of a new copy of Thomas’s book. But does TRPL goes into such technical details as the creation of an object from a class calling new (= allocate + initialize) or is it considered too low-level for that book?
“The Ruby Programming language” does cover 1.9, but I’m not sure about the amount of changes after it went into print.