May/June issue of acmqueue


The May/June issue of acmqueue is out now


  Download PDF version of this article PDF

Use It or Lose It

Aphorisms in the abstract

Stan Kelly-Bootle, Author

My aphorisme du jour allows me to roam widely in many directions, some of which, I hope, will be timely and instructive for Queue readers. My choice of the French aphorisme is a justifiably elitist affectation, paying homage to Montaigne, Voltaire, Bertrand Meyer, and that cohue d’elegance. The Gallic gargled r (as in Brassens) and the sublime long final syllable, if you get them right, simply drip with class compared with the slovenly sequence of English diphthongs: a-for-iz-um. (Anglophones also mangle the monosyllabic genre into john-ruh.) We tend to treat the terms aphorism and epigram as posh synonyms for maxim, motto, or even saying. They are all characterized by an attempt to condense volumes of wisdom into short, memorable phrases suitable, say, for adorning our college crests, tombstones, or car bumpers.

Originally, aphorism meant a definition, which is, in fact, quite the opposite of current usage. A definition, by nature, must spell out in detail (the definiens) exactly what the thing being defined (the definiendum) means. In modern parlance: zip(definiens) = definiendum; unzip(definiendum) = definiens. Unlike the compression of iTunes, quality is preserved! Once you’ve agreed on a definition, its use certainly helps in reducing the verbosity of future discourse. But, as Bertrand Russell remarked, definitions are simply optional shorthand tricks, saving space and time but not contributing anything essential to the theory. In practice, of course, as Russell admits, the very fact that we have singled out a compound entity worthy, as it were, of being defined can be significant in developing and explaining the theory. Thus, the definiendum momentum not only saves effort compared with “mass x velocity,” it also makes clear that that strange, unnatural product plays a key role in mechanics. Similarly with net pay, defined as “gross less deductions.”

Surprisingly, the latest (sixth edition) Oxford Dictionary of Quotations shuns a specific aphoristique category, listing its shorter memorable selections under a section called “Sayings.” I suppose you can blame my Cantabrigian nit-picking bias, but the plumpen term sayings lacks that classic flair we associate with aphorisms and their epigrammatic siblings. I’m reminded of the critic who said of Jack Kerouac, “That’s not literature, it’s just typing.” Cynics from this camp are fond of knocking the blogosphere, claiming that for the first time in history we have more writers than readers. Luckily, most bloggers don’t see the enormity of this insult. The Borland Paradox database had a sublimely vague data type called blob, meaning binary large object. This may have influenced the coinage blog as a blob generator, but others read it as binary logorrhea. I rush to add that some of my best friends are bloggers. Does it help to call them blogeurs or blogistas? Not really. I seek your suggestions.

Faber has rival anthologies fully devoted to the aphorism, including the recent The Blind Eye compiled by poet Don Paterson, who admits that the aphorism is the most economical but least satisfying of literary forms. According to NB’s review (Times Literary Supplement, September 28, 2007), Paterson often confuses bland truisms with genuine aphorisms. NB offers an aphorism about The Blind Eye aphorisms: “The problem with wit and wisdom is that you usually get one or the other.”

The Oxford anthology also gives a self-referential aphorism from James Fenton: “Windbags can be right. Aphorists can be wrong. It’s a tough world!”

This warning finds confirmation in the existence of such contradictory pairs as, “Many hands make light work” and “Too many cooks spoil the broth.” I invite similar examples, preferably with IT implications.

Using and Losing What?

Returning to my aphoristic title, “Use It or Lose It,” we see another danger in clever, apparent paradoxes posing as assumed truisms. Some contexts for those damned elusive its can give us falsisms. If we take “it” as a nonrenewable fossil fuel, our aphorism is downright dangerous. “Use coal or lose it” makes sense only as a Chinese slogan where “losing it” means losing the race to Americanize the Chinese economy. Other variants may or may not appeal, depending on your cynicism. “Use IT or lose it,” sneaking in the abbreviation for information technology, is plausible unless you are trying to unify the UK’s National Health Service patient records system. Taking “It” as the glamorous oomph factor is also problematical: “It” girls since Clara Bow in the 1920s, alas, have lost “It” through the ravages of time and/or overuse.

We move to the more reasonable interpretations of my title. The first will be familiar to all rugby union fans currently enjoying or suffering the thrills of the World Cup, enacted every four years like the unmentionable spherical-ball version called soccer (or association football). Rugby is a ruffians’ game played by gentlemen; soccer is a gentlemen’s game played by ruffians. (Here we see the aphorism posing as a jokey definition.)

ACM Queue readers who shun the sporting life are missing out on some career-enhancing implications. Here we have the ideas of rules and arbitration, the heart ’n’ soul of algorithmic theory, played out in flesh ’n’ blood. Very briefly, rugby union has complex attacking strategies including scrums, rucks, and mauls. In the maul, three or more players including the ball carrier (yes, there’s a sound reason for the ellipsoidal shape) push forward in an upright formation keeping the ball off the ground, while the opposing team tries to prevent the advance. In such an apparently chaotic confrontation (the very name maul!), there are, in fact, many rules defining legal and illegal actions: Who can join the maul and how? When does a maul end? One such rule compares with Turing’s halting problem: What’s to prevent an endless maul where attack and defense are evenly matched and the ball is not being advanced? It’s up to the referee to break such a deadlock. He (seldom she) calls, “Use it or lose it!” and the attacking team must either advance or relinquish the ball within five seconds. We know this because, rarely in field sports, the referee is wired for sound, and the world hears his calls and warnings in realtime.

We find another context for “use it or lose it” in the pedagogical and neuroscientific domains. The latter offers the widely held theories of learning and memory based on neurons and synapses. Certain neural connections certainly seem to be strengthened by use and weakened by neglect. Although the mysteries of perception and consciousness remain, the general idea of neural networks has proved useful in devising educational strategies. There are still differences among the educationistas: To what extent can we “train the brain” in the same way that athletes incrementally improve their performance by regular exercise routines? I believe that some rote learning, although unfashionable in many curricula, is essential—let’s say another of those endemic necessary-but-not-sufficient conditions. The blank slate needs some basic kick-start scrawls once the Chomskian prewiring has surfaced. The open question: how to kindle the imagination and fire the curiosity?

Abstracting the Abstractions

At which point is the aphorist in search of the truth tempted to add a few clarifying clauses at the risk of exceeding that ill-defined sizeof(aphorism) <= sizeof(windbaggage)?

The very notion of the aphorism, condensing whole streams of sagacity into a sharp pithy burst (try saying that when you’re high on Jolt Cola1), is quite relevant to our fair trade. At the coding level we pride ourselves on avoiding verbosity, relishing those two lines of APL over the equivalent rambling chapters in Cobol. Unix promoted its cryptically clipped command names as the key to real macho programming. Anything over three or four characters is blatant mollycoddling. And, of course, the more meanings you can assign to each character, the better. If you find

   set verbose

too verbose and obvious, you can use

   #!/bin/csh -v

All this arcane compression may run against the rules of best maintainability practice, but the priority, surely, is to dazzle those later generations with our brevity and wit. If future programmers have the nerve and gall to fiddle with our code-pearls, let them sweat in begrudging admiration like puzzled Champollions struggling to decipher the Rosetta stone.2

At the so-called higher levels in the systems-development chain, architects and other parasitic hangers-on wax and wane aphoristically by placing small legends in large boxes. These boxes are then interconnected with randomly arrowed and colored lines, all part of the process known (to me) as SE (structured encapsulation).3 This is a natural extension of data hiding. Why stop at hiding data when your very intentions, methods, and strategies can be neatly secreted behind impressive boxed slogans and find-the-treasure flowcharts?

The emerging (or rather, reemerging) ploy to add academic spice to this “privatization of meaning” is Jeff Kramer’s elevation of abstraction as the key to computing.4 To many philosophers this claim is the most certain, can’t-lose bet, since abstraction is the key to everything. Or at least the key to everything that can be meaningfully discussed between consenting Homo saps using a hopefully common language! For the nonmeaningful exchanges, we re-reinvoke Wittgenstein:

“The limits of my language mean the limits of my world,”

to which we can add the coda that threatens ballet, body language, and stand-up comedy:

“ ... And whereof we cannot speak thereof one must be silent” (Tractatus Logico-Philosophicus).

Each word we employ, however concrete and particular it may seem, is an abstraction many times removed from what we fondly call “reality.” (Recall Nabokov’s warning that “reality” is the only word that must always appear within quotation marks?) The link between words and the things they name (in Saussure’s terminology, the link from signifier to what is signified) is not only arbitrary in the general, contingent sense, but, alas, that very arbitrariness is inconveniently volatile over space and time. This is not to retire into pessimistic uncommunicative sloth. We do remarkably well ordering beer, asking when the trains run, and even agreeing on what the client means by, “We must run our payroll next Friday!”

Kramer’s thesis that the ability to create abstractions is THE (definite article) key computing skill invoked much general agreement, although many preferred to settle for having abstraction awareness as A (indefinite article) key computing skill, necessary but not sufficient.

Risking a few digressions, I could mention that some languages, even those sharing our English Indo-European family roots, lack both definite and indefinite articles. I recently spent a happy vodka-friendly hour or ten with Viktor Yakovlevich Fet (emigré poet and professor of scorpionology) discussing, inter alia, the mystery that in Russian “Ya klyuch” can mean “I am the key” or “I am a key.” It’s a fallacy, however, to invoke the Sapir-Whorf hypothesis (approximately: language dictates thought) and conclude that Russians somehow lack the concept of nounal definiteness and indefiniteness. They can express that distinction in other ways when the need arises. Our the comes from the Anglo-Saxon thaet, the neuter singular form of our demonstrative pronoun that via a long process known as grammaticalization. Incidentally, this process is relevant to my earlier discussion of linguistic abstraction. We can point at and name a cat. Look, there’s another one! Not quite the same, but surely a cat of sorts. In time we arrive at an agreed taxonomic generalization: the abstract cat stripped of all but its essential felinities! It’s much harder to uncover the origin of all those non-concrete words such as and, if, and but, the syntactic glue needed to form grammatical sentences. You can get by with hard-noun Dickensian narrative sequences such as:

“Car. Boy. Street. Crash. Blood. Scream.”

Or:

“Laptop. Microsoft. Windows. Boot. Crash. Bluescreen. Scream.”

Here, context lurks silently and agonizingly beyond decent analysis.

Dijkstra, Parnas, Kramer, et al. sing the praises of careful abstraction. One needs to identify and remove the bits deemed not essential to modeling and then solving the problem. To some extent we can avoid the ambiguities of natural language by using the more precise languages of logic and mathematics. What we can achieve here is that our symbols and identifiers are pinned down, as it were, against semantic drift, with the proviso that we must have prior agreement on exactly what those symbols and identifiers mean. Alistair Edwards mentions this as “the most difficult part of the process”: choosing names to capture the essence of the abstraction “in a way that makes sense to other programmers some time in the future” (Communications of the ACM, August 2007, page 13). Ironically, this conflicts with an early thesis of Parnas that mnemonic identifiers are to be avoided. He wants NL (natural language) explanations but not NL specifications (see this column, “Linguae Francae,” December/January 2004/2005, page 80). Our human deliberations seeking to define the problem at hand, and the ideal abstractions needed to model it, must perforce be conducted in NL. At some point we must leave behind our ambiguous comments and pseudocode and sweat out the specifications in an artificial, unforgiving programming language.

Yet (the biggest YET I can find), there remains some basic circularity in the notion that there are parts of “reality” that can be safely ignored in the abstraction process. It seems that you need a solution before you can be certain that your model does indeed include all the relevant essentials. It’s hardly helpful, in the stark world outside the lecture hall, to be told that “models should be as simple as possible but not more simple.” We are back to the problem of balancing aphoristic elegance and the search for useful but NON-obvious advice. 

References

  1. Made by Wet Planet Beverages, this highly caffeinated drink is a favorite anti-soporific aid to all-night programmers. Dr. Dobb’s Journal runs the Annual Software Development Jolt Product Excellence Awards (www.ddj.com/joltawards/). Being a judge for many years was a mixed blessing: I could not nominate my own books, and the bribes offered were insultingly low!
  2. This is a deliberately misleading reference to tease my doryphoric readers. I invite them to explain why a better reference here would be to Ventris and Linear B.
  3. I realize that SE is often taken to mean software engineering, but that term seems to be losing its glister. Pete McBreen and others prefer SC (software craftsmanship) or SD (software development), arguing that these do not yet have the rigor or established, mature processes associated with “real” engineering.
  4. Kramer, J. 2007. Is abstraction the key to computing? Communications of the ACM 50 (4): 36-42.

STAN KELLY-BOOTLE (http://www.feniks.com/skb/; http://www.sarcheck.com), born in Liverpool, England, read pure mathematics at Cambridge in the 1950s before tackling the impurities of computer science on the pioneering EDSAC I. His many books include The Devil’s DP Dictionary (McGraw-Hill, 1981), Understanding Unix (Sybex, 1994), and the recent e-book Computer Language—The Stan Kelly-Bootle Reader. Software Development Magazine has named him as the first recipient of the new annual Stan Kelly-Bootle Eclectech Award for his “lifetime achievements in technology and letters.” Neither Nobel nor Turing achieved such prized eponymous recognition. Under his nom-de-folk, Stan Kelly, he has enjoyed a parallel career as a singer and songwriter.

acmqueue

Originally published in Queue vol. 5, no. 7
see this item in the ACM Digital Library


Tweet




Comments

(newest first)

Leave this field empty

Post a Comment:







© 2017 ACM, Inc. All Rights Reserved.