Postmodern Programming Today
I recently read a paper called Notes on Postmodern Programming by James Noble and Robert Biddle. This is a striking title. Postmodern makes you think of English literature students clicking their fingers to slam poetry at smoky jazz clubs. Not dorky software developers. But the paper is in fact a real gem to read. It was written 20 years ago but its ideas still ring true today. So I thought it would be worth reflecting on postmodern programming with a, well, modern lens!
The Database Streamy Weamy Pattern
A few years ago I was introduced to an interesting ebook called Designing Event Driven Systems. In it the author Ben Stopford outlines how to build business systems using Apache Kafka. I was a young impressionable developer and the book turned my understanding of system design on its head.
At the time I was working at a small software monitoring company. Our system took in hundreds, sometimes thousands, of requests per second. We stored terabytes of error payloads and user events. The company was growing and scale was an issue. As I read the book on the way to and from work I got excited. I sketched out a few proposals for us. We could use Kafka to scale up our data processing!
The Problem with Smurf Speak
You know how the Smurfs substitute almost every word for smurf? This is known as Smurf speak in the comics and TV show. We software developers also Smurf-speak. What we tend to do is put our company or product in the names of modules, classes, and functions. Classes like McDonaldsPendingOrder
and GoogleDocsMainMenu
have redundant prefixes. Yet PendingOrder
and MainMenu
are perfectly good names and give you the same information. I am going to outline why you don’t need to Smurf speak, and give a few tips to help you avoid it.