3 ms·
I wouldn't describe it as obtuse, but I would describe it as concise. I think that even people who are familiar with it could feel that its concision hurts rea
by Locke1689 13y ago
I wouldn't describe it as obtuse, but I would describe it as concise.
I think that even people who are familiar with it could feel that its concision hurts readability. It's not such an unfair criticism as you may suggest.
- LfLxfxxLxfxx 13y agoI've observed two reasons people perceive APL code as unreadable: 1. They are not familiar with the symbols. It's the equivalent of trying to read a label in a foreign language. The text may seem unreadable to you, but if you learn the alphabet/hieroglyphs and some vocab, it makes sense. 2. They aren't used to brevity of notation. An APL program is to be read character by character, the way one reads a Java program line by line. Brevity is an advantage because it allows you to see more of a program's structure at a glance.
- doublec 13y agoKen Iverson wrote an interesting document, "Notation as a tool of thought", which covers his thoughts on what a concise/efficient notation provides: http://www.jsoftware.com/papers/tot.htm http://www.jsoftware.com/papers/tot.htm
- Locke1689 13y agoReally, interesting, thank you! The one worry I have with APL and its descendants is that its conciseness will encourage people to make overly long expressions. One possibly beneficial side-effect of more verbose languages is that it tends to encourage the use of additional identifiers to hold sub-expressions. The act of naming things is often a good thing for both the authors and readers of a program. More abstractly, it allows the program to carry intentional semantics alongside operational semantics. This is also a problem I have with mathematics -- mathematical notation often uses context-dependent single-letter variable names for semantic information, which is terrible from an outsider's perspective (and by outsider I really mean anyone who isn't working in the exact field of the mathematician). Edit: I should mention that I'm still pretty enamored with J for numerical computation, even though I never do any of it :)
- gruseom 13y agoIf you like the Iverson, don't miss the famous piece of Whitehead's where he talks about notation too: http://introtologic.info/AboutLogicsite/whitehead%20Good%20Notation.html http://introtologic.info/AboutLogicsite/whitehead%20Good%20N... Iverson took one of his epigraphs from there, but the whole thing is short and well worth reading. Fun fact: Iverson, Roger Hui (the J guy) and Arthur Whitney (the K guy) were all from Alberta.
- Locke1689 13y agoMore sources for thoughts about designing descriptive but efficient language notation: brilliant! Upvotes all around! :)