I have a strange feeling that I know why I might be stuck on this desert island Ė itís probably penance for knocking the host of this column off his stride whilst he was giving a presentation to the London branch of the ACCU. Unlike the heckling from the Henney corner that night mine was a little more subtle. I forgot my glasses and so kept squinting at the slides in what must have seemed to be a ďvery confusedĒ manner - actually maybe itís not penance but sabotageÖ
So where do I start? I guess Iíll follow the pattern of my predecessors and generally cover the technical books first. The music should be easy, but the novel is going to be pretty tough as I just donít read fiction books. As a child Iíd have preferred a complete set of Haynes manuals to the collective works of William Shakespeare; and as I saunter into my technical library (aka The Downstairs Toilet) I find myself staring at the moral equivalent Ė umpteen books on [D]COM and Windowsí internals. On a pragmatic note I feel the most useful would be 4 of the books by Jeffrey Richter as he has produced some paper based behemoths that could easily be bound together to make a pretty sizeable raft.
Hmmm, I thought this was going to be easy. There arenít many unfinished books on the shelf (although Iím ashamed to admit that one is by our very own Pete Goodliffe) so perhaps I should just take those? Looking back at previous choices I seem to have some serious omissions. Iíve been writing C++ for about 15 years and yet I donít own a copy of Bjarne Stroustrupís The C++ Programming Language or Nicolai Josuttisí The C++ Standard Library. Come to think of it I donít own a copy of the standard either; in fact I donít think Iíve ever seen one; then again Iíve never suffered from insomnia.
Anyway I probably shouldnít use this time to learn about a specific technology but perhaps use it to reflect on our profession instead Ė Iím sure I spend way too much time Ďdoingí and not nearly enough thinking about Ďhowí Iím doing it. And so we come full circle and Pete Goodliffeís Code Craft comes back off the shelf again. Iíve read the first 75 or so pages and it looks like a modern take on the software development process so I reckon itís a good start. My 1st Edition of Code Complete by Steve McConnell is looking a little outdated so perhaps this will supplement it nicely. Plus it comes with monkeys, although I suspect I wonít be short of those for company on the island.
A couple of years ago I raised a question with my fellow ACCU colleagues about what modern books there are on the Object Orientated paradigm. I realised I had stumbled into C++ development and consequently the OO world without really understanding the principles of the paradigm I was supposed to be following. It seems as though the age old tomes by Grady Booch (Object Oriented Analysis and Design with Applications) and Bertrand Meyer (Object-oriented Software Construction) are still a force to be reckoned with even now. Hubert Matthews chipped in with the more recent Object-Oriented Design Heuristics by Arthur J. Riel. Iíve browsed through that and it looks very useful, especially with the slightly different format, but I think Iíll go with the Meyer classic as it covers the basics. Itís also another hefty beast and so should come in handy to weigh down any tarpaulin.
In terms of shelf space Kent Beck barely registers (he creates very svelte works by comparison) and yet Iíve found his books an absolute joy to read. He has a pleasant conversational style that almost makes you feel like heís in the room reading to you (now that would make a novel episode of Jackanory). Implementation Patterns in particular is one of those books that really tries to help you get inside the authorís head. Some might say much of it is obvious, but thatís only because heís pointed it out. If there was a Collective Works of Kent Beck available to satisfy these ham-fisted rules Iíd take that; after all I only read Extreme Programming Explained because I enjoyed reading Implementation Patterns and Test Driven Development. So letís see what else Amazon says he has to offer, back in a momentÖ
Oh, thatís it really. But thatís good because now I have another choice that I wasnít expecting. Whilst on Amazon I checked my ever growing wish list to see what else might inspire me. One subject leaps out and that is to better appreciate what it is that my manager is [supposed to be] doing. I digested Steve Maguireís Debugging the Development Process a very long time ago when I was but a junior starting out. Although I thoroughly enjoyed it Iím not convinced I would have read it with this goal in mind. Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister appears to be the classic text everyone refers to and so Iíd probably go with that as my starter. Perhaps when Iíve been rescued I could delve a little deeper and try something more modern Ė I seem to remember that Allan Kelly bloke having a book out.
So Iím down to my last choice and Iím feeling somewhat guilty. Iíve only scratched the surface of The Pragmatic Programmer (Andrew Hunt and David Thomas) even though it is considered an all time classic and I know itís packed to the gills with sound advice. Iíve also just started Coders at Work (Peter Seibel) as the whole ďDuct Tape ProgrammerĒ debacle caught my attention. Itís a collection of interviews with such famous luminaries as Donald Knuth. It would be neat if I could use that as my novel-come-not-so-hardcore-techie-book because itís a bit more touchy-feely instead. So when I said there arenít many unfinished books on my shelf what planet was I on? What would be a really bold move is to pick one of those books Jon Jagger was selling at the ACCU Conference this year; there was some seriously weird looking titles in there and yet so intriguing at the same time. This Software Business is way deeper than you thinkÖ
Actually Iíve known all along the one book I was definitely going to take and that is Writing Solid Code by Steve Maguire. This (along with Code Complete by Steve McConnell which is arguably a significantly more useful book) had a huge impact on me and the team I joined back at the start of my career. I know nostalgia isnít what it used to be, but I still have a great fondness for this book Ė most notably the anecdotes from Steveís days managing projects at Microsoft. I personally found the airing of their dirty laundry particularly refreshing; it added a sense of humility and real-worldliness to it. As the books subtitle suggests (Microsoft Techniques for Developing Bug-free C Programs) it has less direct relevance to me these days but I still enjoy thumbing through the pages of this (and his sister book Debugging the Development Process) to read random anecdotes for the occasional sanity check. Blast, now Iíve realised I donít have room for Raymond Chenís The Old New Thing, and after I gave it such a glowing review in C Vu as well!
So with my geeky side nourished I come back to the thorny issue of what novel to take. Itís probably apparent from my earlier comment that Iíve barely read any novels as itís not a pastime I indulge in. So do I go for the safety of what little I already know or pick something I think Iíll like? Thereís probably going to be a beach on the desert so I feel inclined to pick one of those ďbest sellersĒ by Jackie Collins or Andy McNab. Not really my scene though. If I canít abuse the rules and get Coders at Work accepted then maybe I should try for The Cuckooís Egg by Clifford Stoll. This is about how he tracked down a hacker back in the 80ís whilst working at the Lawrence Berkeley Labs. For a techie I thought he penned a pretty good book.
Now if it were films life would be easier
with anything from Sergio Leoneís westerns to
Is anyone still reading at this point? Have I managed to portray myself as such a shallow character by now that youíve decided I probably deserve to be marooned on a desert island to reduce pollution of the gene pool? Good, then I shall hit you with my musical tasteÖ Let me start by pointing out that Iím a product of the 1980ís. Itís ok, Iím not going to pick Spandau Ballet, but I do covert the keyboard and sampler rather than guitar so anyone looking for more weight to the Purple Floyd vs Deep Pink or whatever the argument was can go back to sleep now.
My love of beeps and squeals starts with Kraftwerk, passes through Depeche Mode on to The Prodigy, The Chemical Brothers and ends with a variety of DJís such as Carl Cox. There is also the occasional diversion into ska, hip hop and rap. I suspect that a turntable would fair better than a CD player in such a dusty climate, but sadly the vast majority of my vinyl collection is in the form of 12Ē singles so I would have to pick something like the Soft Cell 12Ē Singles Box Set to get value for money out of my musical choices. With only two options available it would need to be a pair of those rarest of albums; the ones that you could listen to relentlessly and donít have a single duff track that you always skip. There is plenty of house and techno that I listen to relentlessly at work as I find it an enjoyable accompaniment; the disruptive exceptions being Music for the Jilted Generation by The Prodigy and Swordfish (The Album) by Paul Oakenfold. These have a habit of forcing me to context switch in search of the Ďtrack repeatí button. If it wasnít for my IBM Model M keyboard I suspect Voodoo People would have had to answer for quite a few broken keys by now.
For ďThe IslandĒ where solitude is likely the order of the day, Iíd prefer lyrics and big beats so Iím going to pick Confessions on a Dance Floor by Madonna and To The 5 Boroughs by The Beastie Boys. Madonna has teased us in the past with a few cracking tracks on Ray of Light and Music (and in secret Iíll even admit to adoring Borderline from the Ď80s) but Confessions is 100% perfect pop with a modern dance/house edge. The Beastie Boys on the other hand ticks all the boxes Iím looking for in the hip hop/rap/humour department. It was a close call between Hello Nasty (their previous best work) and Boroughs but the later has an extra level of maturity and polish. Depending on whether or not my family are also marooned with me I could allow for a significant increase in the swearing ratio and pick Encore by Eminem instead.
Let me finish with my own J. J. Abrams inspired addition to the format by asking ďWhat type of clunky old terminal would you like to find in the bunker hidden under the island?Ē For me it would be an RM 380Z as thatís where it all started.
Chris started out as a bedroom coder in the 80s, writing assembler on 8-bit micros. These days itís C++ and C# on Windows in big plush corporate offices. He is also the commentator for the Godmanchester Gala Day Duck Race and can be contacted via firstname.lastname@example.org.