Back-to-Basics Weekend Reading - On Systems Simplicity
This weekend’s reading departs a bit from the more academic papers of the past weeks. They are two classics that deal with great observations about the tensions between simplicity and complexity in building systems. The first paper is the 1980 Turing Lecture delivered by Tony Hoare, “The Emporers Old Clothes”. He had received the Turing Award for his contributions to the fundamentals of programming languages, although for me some of his most influential work, communication sequential processes, still had to happen. In his lecture prof. Hoare, in the superb way of great story tellers, has many observations about programmers, program languages and systems building. But in essence the lecture is about the battle of complexity versus simplicity, why we introduce complexity, and why simplicity should be our holy grail. The paper is chock full of great quotes of which I’ll just give you one:
“The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay”
The second note is “The Rise of Worse if Better” by Richard Gabriel. The note was part of a larger lecture Gabriel,the language researcher and chairman of Lucid Lisp, had given. In this section Grabiel in a superb manner compares the “MIT approach”, in which systems need to be complete and perfect, with the “New Jersey” approach in which simplicity trumps consistency, correctness and completeness at all times. “New Jersey” referred to Bell Labs as the breeding ground of Unix and C.
Both lectures have played a great role in a lecture I used to give on “Life is not a State Machine”, maybe I should dust that off again :-)