Sign in

Alan Perlis’s Programming Pearls

@programmingpearls.bsky.social
5 followers 2 following 36 posts

@willwhim made me. Text from www.cs.yale.edu/homes/perlis-alan/q…, originally from ACM's SIGPLAN publication, (September, 1982), Article "Epigrams in Programming", by Alan J. Perlis of Yale University.

PostsRepliesMedia
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 38m
The use of a program to prove the 4-color theorem will not change mathematics - it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 07/10/2026
Everyone can be taught to sculpt: Michelangelo would have had to be taught not to. So it is with great programmers. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 06/10/2026
The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information. #programming #pearls
010
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 05/10/2026
The eleventh commandment was “Thou Shalt Compute” or “Thou Shalt Not Compute” - I forget which. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 04/10/2026
Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 03/10/2026
Simplicity does not precede complexity, but follows it. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 02/10/2026
In programming, everything we do is a special case of something more general -- and often we know it too quickly. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 01/10/2026
For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 30/09/2026
Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long? #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 29/09/2026
Once you understand how to write a program get someone else to write it. #programming #pearls
010
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 28/09/2026
There will always be things we wish to say in our programs that in all known languages can only be said poorly. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 27/09/2026
One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 26/09/2026
Perhaps if we wrote programs from childhood on, as adults we’d be able to read them. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 25/09/2026
To understand a program you must become both the machine and the program. #programming #pearls
010
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 24/09/2026
A good system can’t have a weak command language. #programming #pearls
010
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 23/09/2026
Optimization hinders evolution. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 22/09/2026
Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication. #programming #pearls
010
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 21/09/2026
A language that doesn’t affect the way you think about programming, is not worth knowing. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 20/09/2026
A program without a loop and a structured variable isn’t worth writing. #programming #pearls
002
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 19/09/2026
If a listener nods his head when you’re explaining your program, wake him up. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 18/09/2026
Every program has (at least) two purposes: the one for which it was written, and another for which it wasn’t. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 17/09/2026
Everything should be built top-down, except the first time. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 16/09/2026
In the long run every program becomes rococo - then rubble. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 15/09/2026
If two people write exactly the same program, each should be put into microcode and then they certainly won’t be the same. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 14/09/2026
Recursion is the root of computation since it trades description for time. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 13/09/2026
If you have a procedure with ten parameters, you probably missed some. #programming #pearls
111
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 12/09/2026
Get into a rut early: Do the same process the same way. Accumulate idioms. Standardize. The only difference(!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 11/09/2026
It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 10/09/2026
A programming language is low level when its programs require attention to the irrelevant. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 09/09/2026
It is easier to write an incorrect program than understand a correct one. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 08/09/2026
Symmetry is a complexity-reducing concept (co-routines include subroutines); seek it everywhere. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 07/09/2026
If a program manipulates a large amount of data, it does so in a small number of ways. #programming #pearls
010
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 06/09/2026
Every program is a part of some other program and rarely fits. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 05/09/2026
Syntactic sugar causes cancer of the semicolon. #programming #pearls
000
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 04/09/2026
Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process. #programming #pearls
020
Alan Perlis’s Programming Pearls @programmingpearls.bsky.social · 04/09/2026
One man’s constant is another man’s variable. #programming #pearls
030