Alan Perlis was the first winner of the Turing Award in 1966. In 1982 he published  a set of 130 epigrams on programming. His aim, he explained, was to capture—in metaphors—something of the relationship between classical human endeavours and software development work. "Epigrams," he wrote, "are interfaces across which appreciation and insight flow." This post offers a few aphorisms. My dictionary tells me that an epigram is 'a pointed or antithetical saying', while an aphorism is 'a short pithy maxim'. Whatever they may be called, I hope that these remarks will evoke some appreciation and insight.21. Do your calculation and proof in the formal sphere, and your hard thinking in the informal sphere.
22. Specifiers and implementers are not adversaries: they must agree mutually benevolent assumptions.
23. Reliance on formalisation frightens away the motivating physical problem, leaving only the grin of the Cheshire Cat.
24. Use normal design wherever you can, but radical design only where you must.
25. A good method reveals the real difficulties in your problem: this is its most valuable service to you.
26. In a formal text, a name purporting to denote something in the real world is lying.
27. A single unified model of the world for a cyber-physical system is like a one-page encyclopedia.
28. Read the newest books and papers on technology; on structure and method, read old ones.
29. Formalism, like all technologies, is fun: accordingly, it's a good servant but a bad master.
30. Refusal to separate doesn't avoid the difficulties of combining: it just obscures them.
 A J Perlis; Epigrams on Programming; ACM SIGPLAN Notices 17,9 September 1982.
Links to other posts:
← Ten Aphorisms: Ten short remarks
← Ten More Aphorisms: Ten more short remarks
Post a Comment