5 ms·
Perlis's Programming Epigrams
- nomilk 3y agoMentioned here: https://www.youtube.com/watch?v=agw-wlHGi0E&t=1h45m40s https://www.youtube.com/watch?v=agw-wlHGi0E&t=1h45m40s
- tgv 3y agoEdgy. I wouldn't pay too much attention of them. E.g. > 9. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. I'm sure that isn't always the case. At the very least, it shouldn't lead to mixing data structures.
- dgb23 3y agoThis is very very sound advice. How many _actual_ data structures are there in our day to day? Trees, graphs, buffers, arrays, hashmaps, state machines... Yet we tend to overspecify operations as if they are special (see: many applications of OO), when they really aren't. Another angle to look at this is moving complexity and specificity into data and away from functions. It's a recipe for success: HTTP/REST, SQL, CLI utilities etc.
- cess11 3y agoSome of them are pretty obsolete, reflecting old conflicts and languages that are no longer in use, or obsolete due to hardware advancements, like the quip about lispers not caring about computational performance. But that one is very good advice. A data structure that can represent a tree and be used with filter/map/reduce (e.g. list or array) can get you very far, and the functions can carry semantics instead of names attached to the data.
- pfarrell 3y agoA few are dated but number 74 is one I think about a lot when programming. Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to see it as a soap bubble? Important to remember this was written in the early ‘80’s at the end of Perlis’s long career. For most of these to stay relevant and humorous 50 years later is pretty impressive.
- veddox 3y agoI've seen several of these before in SICP and other places, but happy to find a longer collection here! Perlis just has his own style and humour...
- veddox 3y agoA list of my favourites: 3. "Syntactic sugar causes cancer of the semicolon." 14. "In the long run every program becomes rococo - then rubble." 19. "A language that doesn't affect the way you think about programming, is not worth knowing." 55. "A LISP programmer knows the value of everything, but the cost of nothing."
- Jtsummers 3y agohttps://dl.acm.org/doi/10.1145/947955.1083808 https://dl.acm.org/doi/10.1145/947955.1083808 https://dl.acm.org/doi/pdf/10.1145/947955.1083808 https://dl.acm.org/doi/pdf/10.1145/947955.1083808 [pdf] Hurray for more open access from ACM, here's the original publication with the 10 missing epigrams.
- rjolley45 3y agoI like this one a lot: "A language that doesn't affect the way you think about programming, is not worth knowing." I frequently see newer programmers trying to learn as many languages as possible to list them on their resume...what they don't realize is that learning syntax is pretty much irrelevant to programming skill. Choose one language, master the building blocks, then choose another that works completely differently. Do this two or three times, and all of the sudden you can write in any language you want because you understand the fundamentals.
- eternityforest 3y agoThere's some value, in that language choice is often about ecosystem and legacy issues, so there's often reasons to use a language even if it by itself isn't interesting. But, if you know one OOP language you can pretty much start working on any of them with a few Google(Or ChatGPT I guess) requests. Beginner programmers can easily get in a "Using what they know" trap though, and sometimes it's some obscure thing like VB.Net they happened to learn first, stuff that might teach you programming fundamentals, which is good, but it won't teach you about making use of modern tooling and all the random stuff mainstream projects use.
- lincpa 3y ago[dead]
- lincpa 3y ago[dead]