Is publishing… on I’m looking for Beta-tes… Mike Taylor on Upgrading my Lego Star De… Matt Wedel on Upgrading my Lego Star De… kaleberg on Specific is universal gavinburrows on Specific is universal
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
Doctor Who, Series 5
In reverse chronological order:
- C. S. Lewis on intelligence in Christianity
- Programming Pearls
- Steve Jobs “never had any designs. He has not designed a single project”
- Another challenge: can you write a correct selection sort
- Still hatin’ on git: now with added Actual Reasons!
- The long-overdue serious attempt at The Silmarillion, part 1: what it isn’t and what it is
- Writing correct code, part 1: invariants
- Only 10% of programmers can write a binary search
- The long-overdue serious attempt at Lisp, part 2: is Lisp just too hard?
- The C Programming Language
- The eleventh Doctor: first impressions
- A brief, yet helpful, lesson on elementary resource-locking strategy
- The hacker, the architect and the superhero
- Programming the Commodore 64
- Where Dijkstra went wrong
- The Elements of Programming Style
- Whatever happened to programming?, redux
- Whatever happened to programming?
Most viewed today/yesterday
- Dammit, Amazon.com, will you <i>please</i> let me use my store credit?
- If I buy a US Kindle from amazon.com, will it work in the UK?
- Ages of <i>Doctor Who</i> actors on their debuts
- Are you one of the 10% of programmers who can write a binary search?
- I wish Jackson hadn't ruined Galadriel's speech
- "You can do anything if you believe in yourself"
- The Jimi Hendrix Experience, <i>Purple Haze</i> (March 1967) — Heavy Metal timeline, part 3
- How to run 5 km (aging, overweight people edition)
- Still hatin' on git: now with added Actual Reasons!
- Writing correct code, part 3: preconditions and postconditions (binary search part 4c)
- Art Bad habits Books Challenges Culture Design Doctor Who Food and drink Frustration Good code Guys from Bell Labs Heavy Metal timeline Life Me singing folk songs Movies Music Not my favourite Politics Programming Reviews Series 5 Series 6 Series 7 Sheer, mind-bending stupidity Shiny digital future The Real World Tolkien Train wrecks TV Uncategorized
- 1,685,766 hits
Category Archives: Programming booksImage
To my astonishment, I see that it’s been a whole year since the last installment in the Programming Books series (1, Coders at Work; 2, The Elements of Programming Style; 3, Programming the Commodore 64; 4, The C Programming Language). I got distracted. But today I want to write about what I would judge the second best book on programming I’ve ever read: Jon Bentley’s Programming Pearls [amazon.com, amazon.co.uk]
I tried to write about this book once before, but I was distracted by what it has to say about binary search, and that ended up being a whole series of its own (part 3, part 4a, part 4b, part 4c). Continue reading
Back when I reviewed Peter Siebel’s fascinating book of programmer interviews, Coders at Work, Erik Anderson suggested in a comment that I might also enjoy its precursor Programmers at Work [amazon.com, amazon.co.uk]. I bought and read it, and it’s excellent. I’ll review it properly some time soon — but today I just wanted to draw attention to one segment that caught me completely off guard.
It’s 32 years old, and it remains the single greatest book ever written about a programming language. Its crown is secure; even if you’d not already read the title of this article, you’d know what book I’m talking about. It’s the only language-specific book in Top Five programming books of the Programming Reddit’s FAQ. Co-written by Reinvigorated Programmer regular Brian W. Kernighan and Dennis M. Ritchie, it’s not just the definitive book about the language in question, it’s the book the rewrote the book on what it means to be definitive. Step forward, please, The C Programming Language! [amazon.com, amazon.co.uk]
Today I want to talk about another vintage book — this one from 1985, eleven years after Kernighan and Pike’s Elements of Programing Style came out. While EoPS is largely timeless, this one has aged dramatically; but it was so important to me twenty-something years ago, and embodies an era that I remember with such fondness, that couldn’t resist writing about it.
I said in the first part of this series that one of the books I wanted to talk about was written in 1974. My colleague Dennis Schafroth guessed that it might be Kerninghan and Ritchie’s classic, The C Programming Language, but the first edition of that book actually came out in 1978. But I awarded half a point anyway, because the book I had in mind (A) was co-written by Brian W. “Water buffalo” Kernighan, and (B) had a second edition in 1978, the same year as K&R. It is Kernighan and Plauger’s The Elements of Programming Style (amazon.com, amazon.co.uk)
(This isn’t a cover image from Amazon, it’s a scan of my personal copy, because I wanted you to see how well-thumbed it is.)
For some reason, I seem to learn better from books — actual, printed books — than I do from other forms of documentation. You’d think that programming of all things would be best learned at a keyboard, web tutorial in one window and shell in the next, but somehow when I need to absorb a big chunk of information in one go, books work better for me. I suppose they are more isolating, and encourage more concentration.
Anyway, books have been very important in my development as a programmer, and I want to talk on this blog about some of those important books. As I write this, I have eight books in mind, though I may well think of others as I gradually make my way through these.
Most of the books on my list are quite old (one of them from 1974, which I think is the oldest). That’s not accidental — I think that, even in as fast-moving a discipline as programming, it takes time for a book to establish itself as a classic; and the really good books are timeless. So there will be no Learn Head-Rush Turbo Enterprise Java Enterprise Beans For Dummies In The Enterprise In Twenty Minutes in this series. (Bonus points, by the way, for anyone who can guess what the 1974 book on my list is.)
But although I love old books, I want to start this series with the most recent book on my list (although as you’ll see the 2009 publication date is in some ways misleading, as it’s largely about programs written long ago). That’s because it’s the book I’m reading right now — I’m in the middle of the last chapter as I write this — and it’s the book that probably did more than anything else to provoke me to start this blog.