Welcome to the fifteenth issue of De Programmatica Ipsum, dedicated to the subject of Writing. In this edition we will start a new section, called "Library", where we will discuss the best books ever written in the field of software engineering. Graham enumerates all the valid reasons any team should write more prose than code, Adrian tries to find out why software teams do not write documentation, and Graham inaugurates the Library section with a review of two of Brad Cox's major works: "Object-Oriented Programming: an Evolutionary Approach" and "Superdistribution".
Why My Team Writes
Writing is one of the most disruptive technologies ever invented after agriculture. Before writing, people could pass information in the current moment, to those who were close enough to hear noises made by other people. Writing allows people to communicate across space, passing written information to readers without the physical presence of the author. And it allows them to communicate across time, leaving evidence of thoughts long after the thinker had died.
On The Aversion To Writing
Around 90% of the teams I have worked with in the past 22 years have never, ever, documented anything. Not a single wiki page, not a README file on top of a repository, not a single PDF file for the end users, not even a single UML diagram. Where they successful? Hardly.
The Kernighan and Ritchie book opens with the "Hello, World" example. The C++ Programming Language follows an annotated table of contents with "The purpose of a programming language is to help express ideas in code." Cox, on the other hand, opens with the story of Eli Whitney and the industrial revolution.