Perlisisms

tosh1 pts0 comments

EPIGRAMS IN PROGRAMMING

1. One man's constant is another man's variable.

2. Functions delay binding; data structures induce binding.<br>Moral: Structure data late in the programming process.

3. Syntactic sugar causes cancer of the semicolon.

4. Every program is a part of some other program and rarely<br>fits.

5. If a program manipulates a large amount of data, it does<br>so in a small number of ways.

6. Symmetry is a complexity-reducing concept (co-routines<br>include subroutines); seek it everywhere.

7. It is easier to write an incorrect program than<br>understand a correct one.

8. A programming language is low level when its programs<br>require attention to the irrelevant.

9. It is better to have 100 functions operate on one data<br>structure than 10 functions on 10 data structures.

10. Get into a rut early: Do the same process the same way.<br>Accumulate idioms. Standardize. The only difference(!)<br>between Shakespeare and you was the size of his idiom list -<br>not the size of his vocabulary.

11. If you have a procedure with ten parameters, you<br>probably missed some.

12. Recursion is the root of computation since it trades<br>description for time.

13. If two people write exactly the same program, each<br>should be put into microcode and then they certainly won't<br>be the same.

14. In the long run every program becomes rococo - then<br>rubble.

15. Everything should be built top-down, except the first<br>time.

16. Every program has (at least) two purposes: the one for<br>which it was written, and another for which it wasn't.

17. If a listener nods his head when you're explaining your<br>program, wake him up.

18. A program without a loop and a structured variable isn't<br>worth writing.

19. A language that doesn't affect the way you think about<br>programming, is not worth knowing.

20. Wherever there is modularity there is the potential for<br>misunderstanding: Hiding information implies a need to check<br>communication.

21. Optimization hinders evolution.

22. A good system can't have a weak command language.

23. To understand a program you must become both the machine<br>and the program.

24. Perhaps if we wrote programs from childhood on, as<br>adults we'd be able to read them.

25. One can only display complex information in the mind.<br>Like seeing, movement or flow or alteration of view is more<br>important than the static picture, no matter how lovely.

26. There will always be things we wish to say in our<br>programs that in all known languages can only be said<br>poorly.

27. Once you understand how to write a program get someone<br>else to write it.

28. Around computers it is difficult to find the correct<br>unit of time to measure progress. Some cathedrals took a<br>century to complete. Can you imagine the grandeur and scope<br>of a program that would take as long?

29. For systems, the analogue of a face-lift is to add to<br>the control graph an edge that creates a cycle, not just an<br>additional node.

30. In programming, everything we do is a special case of<br>something more general -- and often we know it too quickly.

31. Simplicity does not precede complexity, but follows it.

32. Programmers are not to be measured by their ingenuity<br>and their logic but by the completeness of their case<br>analysis.

33. The eleventh commandment was "Thou Shalt Compute" or<br>"Thou Shalt Not Compute" - I forget which.

34. The string is a stark data structure and everywhere it<br>is passed there is much duplication of process. It is a<br>perfect vehicle for hiding information.

35. Everyone can be taught to sculpt: Michelangelo would<br>have had to be taught not to. So it is with great<br>programmers.

36. The use of a program to prove the 4-color theorem will<br>not change mathematics - it merely demonstrates that the<br>theorem, a challenge for a century, is probably not<br>important to mathematics.

37. The most important computer is the one that rages in our<br>skulls and ever seeks that satisfactory external emulator.<br>The standarization of real computers would be a disaster -<br>and so it probably won't happen.

38. Structured Programming supports the law of the excluded<br>middle.

39. Re graphics: A picture is worth 10K words - but only<br>those to describe the picture. Hardly any sets of 10K words<br>can be adequately described with pictures.

40. There are two ways to write error-free programs; only<br>the third one works.

41. Some programming languages manage to absorb change, but<br>withstand progress.

42. You can measure a programmer's perspective by noting his<br>attitude on the continuing vitality of FORTRAN.

43. In software systems, it is often the early bird that<br>makes the worm.

44.Sometimes I think the only universal in the computing<br>field is the fetch-execute cycle.

45. The goal of computation is the emulation of our<br>synthetic abilities, not the understanding of our analytic<br>ones.

46. Like punning, programming is a play on words.

47. As Will Rogers would have said, "There is no such thing<br>as a free variable."

48. The best book on programming for the layman is "Alice in<br>Wonderland"; but that's because...

program programming data write programs variable

Related Articles