Epigrams In Programming

AlanPerlis wrote a set of wonderful EpigramsInProgramming (aka Perlisisms). They appeared in SigplanNotices? Vol 17 Number 9, Sept 1982.

They can be found on the web at http://www.cs.yale.edu/homes/perlis-alan/quotes.html. If this stops working, just search on "perlisisms".


A few comments on these:

"9. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures." Why? This seems to go against everything that I've ever learned about distributing behavior in OO programs. I can't see a good reason for this one.

"24. Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. " -- Uhhhh...I wrote my first BASIC program in seventh grade. I started getting paid for programming at 15. Is that close enough to Childhood? :)

-- KyleBrown


A couple comments on the above, which unfortunately probably totally ruin the impact they would otherwise make:

9. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. This may require some background to fully comprehend: the first time I ran across this was in reference to the LispLanguage, where the single idea of what a list should be resulted in an astonishing number of functions that can manipulate them. CommonLisp has mapc, acons, list*, and numerous others; my own (as yet unreleased) Lisp utilities package has numerous others. Contrast this with something like C or Pascal, with hundreds of implementations and reimplementations of this fundamental data structure.

If the 10 data structures are radically different, granted it makes no sense to unify them. But 10 different list structures is ridiculous.

24. Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. This speaks less of a single person than as a community. Remember that it takes many many years to learn to write English or any other language well; much of this is learning how to put your thoughts onto paper in a useful, coherent form. I see no particular reason why programming should be any different. I, too, started programming in BASIC at a ridiculously early age, but it's only in these last few years that I've really matured much as a programmer.

-- GrahamHughes


71 is cool.

"Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits. "


"49 - "Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf."

Is he saying that we were wrong to move on from assembly?

No. He's saying we are wrong to not appreciate and allow for the implications of moving on from assembly.

65 - "Make no mistake about it: Computers process numbers - not symbols. We measure our understanding (and control) by the extent to which we can arithmetize an activity."

Sounds like a compiler implementation detail to me and not something that a good language should bother you with. Pretty bad argument against abstraction.

It's not an argument against abstraction, but an argument against losing sight of what a computer is and does.

95 - "Don't have good ideas if you aren't willing to be responsible for them." neat way of phrasing an interesting idea.

99 - "In man-machine symbiosis, it is man who must adjust: The machines can't." Man adjusting the machine didn't occur to him?

You've misunderstood the epigram.

--AaronRobson


CategoryQuote


EditText of this page (last edited August 2, 2012) or FindPage with title or text search