My experience is only with J, but I imagine it carries over to APL and K as well.
The code ends up reading a lot like an algebraic sentence after a while:
x (1/u + 1/v) = x/(uv) (u - v).
Spot the error?
Once you are familiar enough with the orthography that the symbols dissapear and you see the concepts, once you have some familiarity with the common ways these concepts interact, then J/APL tend to feel refreshingly clear in their expressiveness.
This is similar to how an algebraic equation feels a lot clearer than its rendition into "more readable" prose. Take the above equation and contrast it with this:
The sum of two inverses, when scaled by some factor, equals the difference between the two reverted numbers, scaled by the quotient of the original factor with the product of the reversions.
The code ends up reading a lot like an algebraic sentence after a while:
Spot the error?Once you are familiar enough with the orthography that the symbols dissapear and you see the concepts, once you have some familiarity with the common ways these concepts interact, then J/APL tend to feel refreshingly clear in their expressiveness.
This is similar to how an algebraic equation feels a lot clearer than its rendition into "more readable" prose. Take the above equation and contrast it with this:
The sum of two inverses, when scaled by some factor, equals the difference between the two reverted numbers, scaled by the quotient of the original factor with the product of the reversions.