Afterwood

Afterwood

By Chris Oldwood

Overload, 28(157):16, June 2020


Mission statements are all the rage. Chris Oldwood considers whether there are any benefits to omission statements.

I’m a big fan of quotes. Not the funny little marks we use to enclose strings in source code and speech in prose, or use inappropriately when distinguishing between plurals and possession, but those tiny utterances which are either written or spoken and yet manage to convey much more. One man who has provided so many of the latter and yet equally suffered from the malaise of the complex rules of the apostrophe is Fred Brooks. (I constructed that sentence very carefully to avoid that particular trap and therefore save valuable time for the editor and reviewers.) From his vast catalogue of memorable writing, I can easily single out one quote which sums up a career in programming without passing judgement on those who find themselves on the wrong side of the tracks:

Good judgement comes from experience, and experience comes from bad judgement.

Relayed in its entirety, it stands as a shining example of how even failure can be seen in a good light – a continuous source of learning – so long as the culture surrounding us provides us with the safety we need to experiment.

Sadly, not all quotes have the structure that allows them to remain intact or at least to withstand the continual need to compress and distil a concept into as few words as possible. This reductionism works pretty well in the Design Patterns community, where we have managed to reduce many common solutions to repeating problems in software design down to just a few words. In the case of the Gang of Four, they reached the holy grail of just a single word for a number of fundamental concepts and gave us the power to communicate volumes with a ubiquitous language. In time, they even gave us the power to evoke a complex emotional response simply by uttering the word ‘singleton’.

In one of her many (self-confessed) failed attempts to write an editorial, the Overload editor reminded us of those immortal words from Strunk & White, which no doubt play a significant role in the crusade to eliminate the superfluous – ‘omit needless words’. Given the prevalence of soot in the printing process (as an ingredient of ink) you could make an argument that following this advice would lead you to a reduction in your carbon footprint too. Fran amusingly points out that with undue care you can take this too far and quickly lose the essence, creating a monster in its wake. Needless to say that naively paraphrasing Strunk & White as ‘omit words’ is not a zero sum game.

I’m sure there are people who feel that that famous six-word story from Ernest Hemingway about unworn baby shoes on eBay can be improved upon, although that wasn’t it. I’ve definitely been in project meetings where Kent Beck’s succinct expression of how late you can leave a decision, namely the ‘last responsible moment’, has undoubtedly been irresponsibly re-interpreted as the ‘last moment’, at which point a mad scramble takes place to continue to hit the (no doubt artificial) deadline. From the vitriol that appears regularly on the Internet, you could be mistaken for believing that Beck was also responsible for suggesting that we merely ‘do the simplest thing’ and forgo any thought or planning (the consequences be damned). After all, what possible extra value does ‘...that could possibly work’ add to such a proposition – who would be stupid enough to trade-off ‘simplicity’ over ‘working’? Maybe the very same people that would prefer to just ‘Keep It Simple’ and kiss goodbye to correctness.

Sir Tony Hoare is definitely no stranger to this phenomenon. I wonder if our industry’s billion pound mistake is an inability to write quotes out in full. The poster child for this whole affair is almost certainly the continued debate around whether or not someone is ‘prematurely optimising’. Delivered by itself, Hoare may as well have written: “we should forget about full quotations, say about 97% of the time”. I guess some quotes need to be made so simple they have no obvious deficiencies.

Sometimes it feels like there is a Newton’s Third Law of Truism – for every quotation there is an equal and opposite (misguided) interpretation. This makes some conversations seem like a game of Quote Trumps™ where you try to make a succinct point and then your colleague feels the need to respond with a ‘superior’ quote in the hope of scoring more points. For example, ‘the customer is always right’ is almost always ‘trumped’ by that old classic (which is commonly attributed to Henry Ford) about the customer really wanting ‘faster horses’. This quote is almost always used to justify why developers know better than their customers and therefore give themselves the right to explore some shiny new technology rather than spend more time understanding what problem the customer is really trying to solve. Sometimes the problem is to discover what the problem is.

I don’t believe it’s limited to our industry but maybe we’re just in more of a rush than anyone else and are therefore more content to skip the research and critical thinking phases and move straight on to the executive summary. Mind you, that expression is now considered overly verbose too and has been undercut by the new kid on the block, ‘TL;DR’. How long before we capture this sentiment within a single emoji and continue to prematurely optimise reading time over comprehension?

Quotations are written for people to read and only incidentally for inclusion in motivational books (or for comedic effect). The moment we start to paraphrase, we run the risk of subtly changing the meaning in such a way that our audience will miss the point, with the catastrophic effect that they may even take away the opposite view to what was intended by the original author; in the wrong hands quotes could be considered harmful.

For those less familiar with Strunk & White, they need look no further than Hoare himself, as he was the one who suggested that inside every large program is a small one struggling to get out. Reductionism is therefore an essential process but how do we ensure that we make things as simple as possible, but no simpler? I fear there is no silver bullet...

Chris Oldwood is a freelance programmer who started out as a bedroom coder in the 80’s writing assembler on 8-bit micros. These days it’s enterprise grade technology in plush corporate offices. He also commentates on the Godmanchester duck race.