Coders at Work

Reflections on the Art of Programming

The interviews in Coders at Work have a number of common themes that come up: is programming an art or a science?, the changing environment for programmers and the changing nature of writing software.

The changing environment for programmers is frequently comes up. As it's pointed out in the introduction, it's only been about about 70 years since the first fully operational electro-mechanical computer, Konrad Zuse's Z3, arrived in 1941, so the profession of "programmer" only goes back about 2 generations. However, it is one that has changed a lot relatively to other professions, most of the interviewees are in at least their early 40s, so many of the interviews jump back and forth from the present to 15 or 30 years ago covering history, trends and names from earlier eras. Readers in their 20s might be wondering why read a book about writing assembler for machines with memory measured in a thousandth of a megabyte, but chances are, even if you're not naturally curious by nature (and what programmer isn't?) this book isn't a just a history lesson; many of the people interviewed have been thinking in the future for a long time.

The layout is simple, each chapter is one interview, starting with a brief overview of what the person achieved to make it into the book. Many of the names will be familiar to readers who have spent some time in programming, but chances are you'll learn a few things you didn't know about their achievements.

However, readers will sometimes need to google acronyms, names and other terms that pop up; an example would be the reference by Simon Jones to the BCPL language, which while historically important as an indirect ancestor to C/C++, it's now probably mostly vaguely remembered by ageing Amiga fans - and some readers might have to google "Amiga" too while they're at it. However, since this book is likely to be read by programmers, having access to the Internet is a fair assumption to make.

The interviews are mostly quite readable, Netscape alumni Jamie Zawinski's interview is filled with some great quotes like, "This is not teaching people to program; this is teaching people where the semicolon goes." that captures the problem with how computer programming is often taught today. The problem with learning computer languages, is that the grammar always has to be correct, hence the need to teach where to put the semicolon. But what Zawinski means is that once you teach someone to write a sentence, they're writer but they're not Stephen King.

Zawinski, like most of the people in the book didn't learn their craft in a computer science class, and it's maybe not not surprising that C++, Java to a lessor degree (both taught heavily in schools), get derided a fair bit in some interviews, while less-known obscure languages like Smalltalk and Lisp get mentioned a lot.

So who is this book for? Readers will need to know a bit about the industry- or have the Internet nearby- as there are some projects, theories and companies mentioned that someone outside the field will likely not be familiar with, though the author does make a good attempt to explain things at points. There are a lot of interviews that go from the macro (like theories and principals) and down to specific points of specific languages and programs that might be quite old. If you're a programmer, this book is worth at least skimming- you probably won't learn anything about where to put the semi-colons, but you'll gain a bit of history about how we got here.

Published: 19th March, 2010

Subtitled, "Reflections on the art of programming", Coders at Work is a collection of wide-ranging interviews with 15 notable programmers and computer scientists. The interviews cover stories, history and reflections on how they got started, how the industry has changed since and where it's going
Author: Peter Seibel
Publisher: Apress
ISBN: 978-1430219484


Related Reviews: