| ▲ | misja111 3 hours ago | ||||||||||||||||||||||||||||||||||||||||||||||||||||
> The virtues of APL that strike the programmer most sharply are its terseness — complicated acts can be described briefly, its flexibility — there are a large number of ways to state even moderately complicated tasks (the language provides choices that match divergent views of algorithm construction), and its composability I had an introduction to APL in university and what I absolutely hated was this terseness. I guess when you're a mathematician APL is more natural but to me, as a programmer, I much prefer to have some extra verbosity to make my code more (human-)readable. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | adrian_b 3 hours ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Terseness is easier to remove from a programming language than verbosity. You can use a source preprocessor to enable you to write APL programs by using keywords instead of any symbols that you do not like. You can also use a source preprocessor to expand any traditional APL source, by converting symbols into keywords, so that it will be easier to read for you. Using symbols instead of keywords is a minor feature of APL, which was inherited from the standard mathematical notation, from which APL was derived. The important features of APL are the expression syntax and the set of available operators, not the symbols used for them. Moreover, if you have difficulties in following complicated expressions, you can always break them in smaller subexpressions. When someone presents an "incomprehensible" APL program, they show a huge expresion without comments. A decent APL program, like in any other programming language, would need good comments, but here comments are frequently desirable at the level of subexpressions. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||