Search

Search this site:

We, Programmers A Chronicle of Coders from Ada to AI


Media
book
Title
We, Programmers A Chronicle of Coders from Ada to AI
Author
Robert C. Martin
Review published as
148030
Edited by
Addison-Wesley

When this book was presented as available for review, I jumped on it. After all, who doesn’t love reading a nice bit of computing history, as told by a well-known author (affectionaly known as “Uncle Bob”), one who has been immersed in computing since forever? What’s not to like there?

Reading on, the book does not disappoint. Much to the contrary, it digs into details absent in most computer history books that, being an operating systems and computer architecture geek, I absolutely enjoyed. But let me first address the book’s organization.

The book is split into four parts. Part 1, “Setting the Stage,” is a short introduction, answering the question “Who are we?” (“we” being the programmers, of course). It describes the fascination many of us felt when we realized that the computer was there to obey us, to do our bidding, and we could absolutely control it.

Part 2 talks about “the giants” of the computing world, on whose shoulders we stand. It digs in with a level of detail I have never seen before, discussing their personal lives and technical contributions (as well as the hoops they had to jump through to get their work done). Nine chapters cover these giants, ranging chronologically from Charles Babbage and Ada Lovelace to Ken Thompson, Dennis Richie, and Brian Kernighan (understandably, giants who worked together are grouped in the same chapter). This is the part with the most historically overlooked technical details. For example, what was the word size in the first computers, before even the concept of a “byte” had been brought into regular use? What was the register structure of early central processing units (CPUs), and why did it lead to requiring self-modifying code to be able to execute loops?

Then, just as Unix and C get invented, Part 3 skips to computer history as seen through the eyes of Uncle Bob. I must admit, while the change of rhythm initially startled me, it ends up working quite well. The focus is no longer on the giants of the field, but on one particular person (who casts a very long shadow). The narrative follows the author’s life: a boy with access to electronics due to his father’s line of work; a computing industry leader, in the early 2000s, with extreme programming; one of the first producers of training materials in video format–a role that today might be recognized as an influencer. This first-person narrative reaches year 2023.

But the book is not just a historical overview of the computing world, of course. Uncle Bob includes a final section with his thoughts on the future of computing. As this is a book for programmers, it is fitting to start with the changes in programming languages that we should expect to see and where such changes are likely to take place. The unavoidable topic of artificial intelligence is presented next: What is it and what does it spell for computing, and in particular for programming? Interesting (and sometimes surprising) questions follow: What does the future of hardware development look like? What is prone to be the evolution of the World Wide Web? What is the future of programming–and programmers?

At just under 500 pages, the book is a volume to be taken seriously. But space is very well used with this text. The material is easy to read, often funny and always informative. If you enjoy computer history and understanding the little details in the implementations, it might very well be the book you want.