KludgeCode

is Ben Rudgers

Remarks: Epigram 13

This is part of a writing exercise around Alan Perlis‘s Epigrams in Programming.

“If two people write the same program, each should be put into micro-code then they most certainly will not be the same”

Hesperus had a mortal father accursed to kill his wife with his divine gifts, Phosphorus was the son of a god and is also known as Lucifer. Frame of reference is everything. Neither Hesperus nor Phosphorus is Venus when we are storytelling.

Der Morgenstern = Der Abendstern

Hesperus is Phosphorus only at one abstraction layer. That is where Frege worked. Otherwise, the equality of morningstar and eveningstar is an implementation detail. It is only the black boxes which we can be assured are equal. Dr. Morgenstern comes to the office early to write his code in C. Dr. Abendstern stays late and enjoys assembly. Each creates a program that will tell them the best time for viewing Venus.

One or the other or both or neither program may have been written with an eye toward being put into MicroCode – the epigram shows its age a bit here, who would think of their program being treated thus, these days? The number of people programming today is mind boggling compared to the time at which Perlis wrote.

Is there a parable here about object orientation? Do we want one, two or three ways to represent the astronomical object? It depends on how important hounds and javelins are. The canonical automobile object is given four wheels in the canonical object example. Why? Four wheels is one of the least interesting features of a car and the cases where one flat tire needs to be distinguished from two simultaneous flat tires are rare.

[It is not that I have slowed my writing on the Epigrams, it is that I have slowed my publishing of them on the blog. It allows me more time to gain an understanding of the ideas about which Perlis was writing. The exercise is the writing, not the publishing]

[First draft written in Emacs html-mode!]