Continued from page 72
tautologically, just the ones that caused harm? And harm to whom? We can read beyond the title that Dijkstra is carefully “hedging his bets.” No computer is worth its chips without a branch-on-negative operator. So, it’s not so much the “going-to” another distant part of your program that’s harmful, it’s how to write readable control jumps in higher-level languages. GOTO-less programming means cleaner, structured code; GOTO-full programs were messy and hard to maintain, producing what the critics called spaghetti code, an insult to all pasta lovers. 4
Many language theologians defend the compound GOTO known as the CASE statement. I go further by claiming God’s approval. No peer review can be peerer! Nature’s own Grand Unified Law is but a set of better-than-realtime nested CASE statements. I’ve seen the listings. Alas, I was allowed the skimpiest walk-through, and that only after signing a terrifying nondisclosure thingy of Faustian proportions. Dare I risk revealing the gist? Well, just entre nous. Note that God uses C++ (no surprise there, Bjarne):
#include <DixieDean.h> // divine headers, q.g. [quod google]
T = -tPlanck; // start clock just ahead of time
switch BigBang { case 0: wait (tPlanck); t-break; ... case 1: switch word { ... case googol^googol: { ... } ...
As far as I could check with HyperLint, every eventuality seems to be covered without a single exception throw needed. Readers reading this on April 1 are warned that I’m aware that I seem to be presenting a discredited, deterministic, discretely countable universe. Not necessarily. The symbols 0, 1, and googol are not to be interpreted by human C++ standards. God gave us the integers, and God can override the integers.
Dijkstra, “spreading his bets,” suggests another helpful idiom, leading to game theory and risk analysis. For here we reach real life as it is lived by the vast majority of my readers. A moment of truth approaches, demanding honest introspection. If your beliefs have no discernible impact on your behavior, can we really believe the sincerity of your belief-claims? Russell was fond of testing someone’s belief that it was going to rain. Did that someone
stay indoors or venture out without her brolly? Sooner or later, balances must be balanced, weights weighed, decisions made, bets placed, acts enacted. But how to pick the best (or least-worst) hypothesis?
Occam’s razor just shaves off a few baby-hairs from rival hypotheses. Solomon’s sword divides the whole baby, offering each mother an evenly balanced slice. But hurry before someone empties the baby with the bath-water. (Philosophers love these confusing homely parables.) We nod knowingly over the Biblical tale, admiring Solomon’s wisdom in identifying the biological mother. Don Watson applies modern jurisprudence to the case with telling results (“Solomon Reversed on Appeal”) 5, while I’m inclined to ponder the outcome if the mothers had been equally versed in game theory brinkmanship. Calling them Mrs. A and Mrs. B, we must assume that each sincerely believes in her claimed maternal relationship. Each must weigh the credibility of Solomon’s threat to cleave the babe in twain. And each must assign values to the possible outcomes: one mother winning full custody or neither; both gaining gruesome half-custody, which can be taken as at least denying the rival mother custody. Twisting the aphorism, “It’s not enough to succeed, others must fail,” we reach this: “It’s not so bad losing as long as others do not win.” Jim Waldo’s courage is in great demand.
In our own fair trade, extreme, opinionated, backbiting positions are taken on the most fundamental issues, such as “What is or are data, and how should it or they be processed?” As that curmudgeon’s curmudgeon, Arthur Schopenhauer, meant to say, “Opinions are like bums, everybody’s got one.” 6
Even from our 60 glorious ACM years of relatively polite ruminations, the rumble of language and operat-ing-system religious wars breaks through. Open Software’s Open Wounds? Methodological Madness? The Association of Computing Machinations? And up for grabs on the ground floor (awaiting the $1 million P = NP Clay Institute Prize): Completely Unprovable Incompleteness? As we quipped in the FastRandy Univac days, “I hear the sound of distant drums!” But let’s not exaggerate.
It’s hard, not to say pointless, to formalize this balance of extremes. But Booles rush in. 7 Extending my great, grand (meaning famously renowned) Great-Grand-Uncle George’s binary logic, we have the SKB-quasi-continu-ous-ternary system with +N (true), -N (false), iN ( meaningless). Here, N is an integer >= 0 intended, somehow, to indicate plausibility or evidential-support; i is either
References:
Archives