Saturday, August 26, 2006

Design by...

"Design-by-buzzword is a common occurrence. "

-- Thomas Fielding

Saturday, June 10, 2006

What Do We Do with the Old Code?

"What do we do with the old code? Throw it out! Don't comment it out... thrash it!"

-- David Astels

If We Wish to Count Lines...

"If we wish to count lines of code, we should not regard them as 'lines produced' but as 'lines spent:' the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger"

--
Edsger W. Dijkstra

If Programmers Got Paid...

"If programmers got paid to remove code from software instead of writing new code, software would be a whole lot better."

-- Nicholas Negroponte

Wegner's Lemma

"It is impossible to fully specify or test an interactive system designed to respond to external inputs."

-- Peter Wegner, Brown University ["Why Interaction is more powerful than algorithms," CACM 40(5):80-91, 1997]

Quick Summary
  • A mathematical proof that any process that assumes known inputs, is doomed to failure when buildig interactive object-oriented systems.
  • If silver bullets are interpreted as formal (or algorithmic) systems specifications, the nonexistence of silver bullets can actually be proved.
  • Interaction is not expressible by algorithms.
  • Complete specification must be replaced by partial specification of interfaces, views and modes of use.
  • A system satisfies its requirements if it supports specified modes of use, even though correct behavior for a given mode of use is not guaranteed and complete system behavior for all possible modes of use is unspecifiable.
  • From Rationalism to Empiricism: Social and scientific rationalism have common roots in the deep-seated human desire for certainty.
  • Algorithms and Turing machines, like Cartesian thinkers, shut out the world during the process of problem solving.
  • The sacrifice of completeness is frightening.
  • The insight that the rationalism/empiricism dichotomy corresponds to algorithms and interactions... allow computing to be classified as empirical, along with physics and cognition.

Chronologist

Chronologist [n]: an expert in chronology, the arrangement in order of occurence.