Radified Community Forums
Rad Community Technical Discussion Boards (Computer Hardware + PC Software) >> PC Hardware + Software (except Cloning programs) >> Classic Programming Books (Nigel)

Message started by Rad on Oct 13th, 2008 at 10:44pm

Title: Classic Programming Books (Nigel)
Post by Rad on Oct 13th, 2008 at 10:44pm
Ran across this page today, on classic programming books:


Wonder how many Nigel has read.

Title: Re: Classic Programming Books (Nigel)
Post by Nigel Bree on Oct 14th, 2008 at 12:09am
All bar 2 of those; I tried to read "Code Complete" in the first edition, but frankly I thought the advice was pretty superficial and I couldn't bring myself to waste the time on finishing it (although bear in mind I'd been coding large systems for many years before it was published so I wasn't exactly the target audience and thus likely to be impressed by it), and "Unix Power Tools, Third Edition" is end-user stuff rather than a developer text - I have a copy of the UNIX sixth edition source code, and did my own UNIX implementation (and worked on POSIX compliance in others) years beforehand anyway.

Those are two of the four books listed that frankly don't manage to make the grade.

Instead of "Code Complete", substitute either the Ada 95 Quality and Style Guide, or perhaps for a more general book to make one think about the importance of clarity in exposition of code, Nancy Leveson's great work Safeware on general system safety. Bertrand Meyer's Object-Oriented Software Construction, 1st edition is also far more important to read than Code Complete (alas the second edition isn't nearly as good, in my opinion).

Instead of the listed UNIX end-user guide, read Maurice Bach's Design of the UNIX Operating System, although for a different perspective on operating system design you can always try VAX/VMS Internals and Data Structures (I do have the less interesting OpenVMS equivalent, but I regret passing up the chance some 15 years ago to own the original VAX/VMS version).

Throw away "Design Patterns", which is utter garbage, a pale shadow that rips off and repackages the mere tiniest sliver of what you can learn from Smalltalk-80: The Language and its Implementation which is several hundred times more important. Alan Kay is a giant.

And as for THHGTTG, while I loved it and indeed listened to the original radio series when it was first broadcast, it's not really different to similar comedic entertainments familiar throughout the British Commonwealth like the great BBC Goon Shows or Monty Python. Instead, the books that are candidates for this slot in such lists is either (for those around my age or older) Robert M. Pirsig's classic "Zen and the Art of Motorcycle Maintenance", or for a younger audience Douglas Hofstader's "Goedel, Escher, Bach" (I found it somewhat contrived, but it's positively affected many people). Both have important things to say at the meta level; about the state of mind in which to approach things, in Pirsig's case, or about proof and beauty in Hofstader's.

And frankly, it's not right to commit the sin of leaving off Knuth's great work The Art of Computer Programming. I have both first and second editions, and although they are somewhat dated there is still no real substitute for having read it and absorbed what they have to offer (including attempting the exercises).

Not sure what I'd drop to make room for it, though.

Two other honorable mentions that don't quite make it to the all-time hall of fame but for which I have immense affection: the collections of Martin Gardner's "Mathematical Games" column in Scientific American (I was the sort of irritating child who took up counting to 1024 in binary or playing with hexaflexagons and Kaleidocycles after reading about them in his column) or perhaps Winning Ways which serves both both as a compendium of game theory and a great collection of fun things to do (games like Sprouts for instance are plain fun as well as mathematically interesting).

Title: Re: Classic Programming Books (Nigel)
Post by Nigel Bree on Oct 14th, 2008 at 2:11am

wrote on Oct 14th, 2008 at 12:09am:
Not sure what I'd drop to make room for it, though.

Just to reflect on this, the problem with lists of this type is achieving sufficient breadth, as well as depth. So, Knuth or Cormen/Leiserson/Rivest are competing for the same slot.

However, there's one book I'd definitely demote from my equivalent list despite it being a generally worthy work, and that's K&R. For all that it's a neat book and an important slice of history (and C is even today a useful thing to learn), it's not full of lasting wisdom and thus I would not take it to the proverbial desert island.

The slot thus released I would, in a heartbeat, give up to Jim Gray and Andreas Reuter's great work Transaction Processing: Concepts and Techniques. In the same way that SICP shows you how to build language interpreters like PHP, and Bach's book tells you how to build much of an operating system, this wonderful book does the same for databases (and thus, most of what goes into modern filesystems). Master this book, and you know how to build something like MySQL (or indeed, much of the foundations of such things as DB2 or Oracle) from scratch.

Title: Re: Classic Programming Books (Nigel)
Post by Nigel Bree on Oct 14th, 2008 at 3:01am
On the subject of books (I have a good stack of ripping science fiction waiting for some future time away from work, just need time) my wife, who has somehow ended up as our village librarian, recently found me an audio version of Bill Bryson's Short History of Nearly Everything to listen to on my rather long commute.

In brief, although I'd never have bought it and as science it's not great - the opening chapters were teeth-grindingly painful, and everytime he attempts to explain a scientific concept in his own words using analogies I'm tempted to fast-forward - where it nonetheless does work pretty well is in the history part, with lots of small potted biographies of enormous numbers of scientists (both famous, and where the book at its very best, the more obscure and downright peculiar) and their paths to discovery.

In fact, what it reminds me of is when I was a youth watching the original legendary BBC series Connections by James Burke. Man, the great TV we used to get on prime time in the 70's - Civilisation, The Ascent of Man, The Age of Uncertainty. Not sure whether it's a great idea to revisit those as an adult or just continue being nostalgic in case they aren't as good as I remember.

Title: Re: Classic Programming Books (Nigel)
Post by TheShadow on Oct 15th, 2008 at 9:01am
Books?   Books?  Who has time to read books?

The last programming book I read was for the Commodore 64 and that was 28 years ago. ::)

I guess that's why I no longer write programs!  ;) ;D ;D ;D

But, I sure respect those that can. :-*


Title: Re: Classic Programming Books (Nigel)
Post by wp on Mar 10th, 2009 at 7:35pm
i also read ( and tried unsucessfully ) commodore 64.

i was able to learn a basic ( not visual basic ) like program wp51dos macro programming language which i still use on a monthly basis.

i see examples of what other people call simple code and i am amazed.

best regards


aka wp as in wp51dos macro language

Title: Re: Classic Programming Books (Nigel)
Post by TheShadow on Mar 12th, 2009 at 10:33am
My very first attempt at computer programming was at NCR and the language was Fortran II.  Well, there was some machine language programming in there somewhere too.  ;D ;D

But I found the Kernel of the C-64 full of redundancy, which made program loading, for instance, very slow.  And, why only 34 tracks on the floppy disk?
That seemed to me to be totally insane.

So with a little help, from a good book on the C-64 Kernel and the C-1541 Kernel, I rewrote the program (the OS) for the C-64 to speed up program loading and for the C-1541 to increase it to 40 tracks.

I burned my own Kernel ROM chips and sold them throughout the mid US.

Then I wrote several programs in Commodore Basic, like 'Inventory', 'Accounts receivable', etc.
I've not really felt like writing anything more than a few batch files since then.  I just got burned out on it (programming) I guess.

I still have the deepest respect for those who have the discipline to sit down and bang out a program.

Cheers Mates!
Shadow  8-)

PS:  I loved WP-5.1 and I still use WP 8 (the Academic Version)

Radified Community Forums » Powered by YaBB 2.4!
YaBB © 2000-2009. All Rights Reserved.