Author: Vikram Chandra
Publisher: Faber & Faber
Reviewer: Mike James
Who could resist a book that compares programming to writing fiction?
You are more likely to hear about this book from non-programming types as it has received a few general reviews that have praised the book for the insights it offers into the world of geeks. It is also a book with a literary promise. The author is a prize winning novelist and the book is published by Faber and Faber, renowned for high quality up-market fiction. This may not be a novel with a capital N but it is swimming in the same waters.
If you are a geek, i.e. a programmer, then you probably aren't going to find the descriptions of how computers work and what coding is all about very interesting. In fact they are so reduced that I'm not sure they serve much purpose at all in the sense that the non-geek is probably simply going to skip over them or at best misunderstand.
This is not a computer textbook in any sense, even it it does explain logic gates and a few other things. The big problem is defining exactly what sort of book it is. It really doesn't hang together very well and it is more like a collection of loosely connected essays than a single coherent argument.
The first part of the book reads like a biography of a young Indian boy, the author, who likes to program and write stories. This is where we are introduced to some of the technology but not enough to give the non-programmer an idea of what programming is like - this might not even be possible.
There are also lots of descriptions of programmer culture. The super programmer and the not-so-super are caricatured. The idea that US programmers continue the macho cowboy ethic and this places Indian and women programmers at a disadvantage is discussed at length.
A lot of this part of the book will be familiar ground if you have been following the rise of "brogramming" and the issues surrounding women in code and how they are treated. Even so there are a lot of small comments that are interesting enough to keep you reading. Also interesting is the description of the Indian, well mostly Bengali, personality and how this affects their perception by US programmers. This part was interesting and if you know the character of Raj Koothrappali in the TV series The Big Bang Theory then you will understand.
As another disconnected strand is the idea that Sanskrit was the first formal language is introduced. I knew nothing about Sanskrit before I read this book and I know hardly any more now but I found this section interesting, if not altogether convincing. The idea that the grammar of Sanskrit was so formalized that it anticipated the standard grammatical notation of computer science, i.e. BNF, is something that seems plausible.
This part of the book finishes up with an attempt at explaining what makes beautiful code. Trying to explain this to a non-programmer is a tough task and while you might get it I'm not convinced that the average reader will.
From here the book detours off into a consideration of the theory and philosophy of Sanskrit literature. I found this to be initially interesting but eventually exhausting. I'm not sure what the relevance is to "geek sublime" apart from the Sanskrit as first formal language idea.
There are a lot of interesting small stories, anecdotes and ideas drifting around in this book. If you get a copy I promise that you will find things that keep you reading - until about Chapter 8 where the consideration of Sanskrit literature takes over completely.
I found the explanation of the role of the Indian techie in Silicon Valley, the Indian personality and approach to programming particularly enlightening. Read it if only for this insight.
Overall, however, the book fails to fit together as a coherent anything and as to the idea of programming and writing fiction having much in common, this is a very unproved thesis which is hardly touched on by the book.
Recommended if you want a change of reading material from the technical and you might have to read if only because a non-techie you know has.