Those of you who understand software programming would relate to the obvious meaning of the following. I find many of them to be thought-provoking in other contexts, too.
Epigrams on Programming
Alan J. Perlis (Yale University)
ACM’s SIGPLAN Journal, Sep. 1982
31. Simplicity does not precede complexity, but follows it.
54. Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.
58. Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
121. In seeking the unattainable, simplicity only gets in the way.
7. It is easier to write an incorrect program than understand a correct one.
57. It is easier to change the specification to fit the program than vice versa.
10. Get into a rut early: Do the same processes the same way. Accumulate idioms. Standardize.
15. Everything should be built top-down, except the first time.
52. Systems have sub-systems and sub-systems have sub-systems and so on ad finitum - which is why we're always starting over.
102. One can't proceed from the informal to the formal by formal means.
19. A language that doesn't affect the way you think about programming, is not worth knowing.
93. When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.
40. There are two ways to write error-free programs; only the third one works.
48. The best book on programming for the layman is "Alice in Wonderland"; but that's because it's the best book on anything for the layman.
116. You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.
99. In man-machine symbiosis, it is man who must adjust: The machines can't.
112. Computer Science is embarrassed by the computer.
If there are epigrams, there must be meta-epigrams.
127. Epigrams scorn detail and make a point: They are a superb high-level documentation.
128. Epigrams are more like vitamins than protein.
No comments:
Post a Comment