Hacker News new | ask | show | jobs
by Tomte 2210 days ago
I'm not saying that. Some APL fans say that ASCIIfication of APL is a bastardization, because notation matters. (search through earlier HN threads)

Notation is obviously a shorthand for "sensible notation" or even "better notation" there, because obviously just about anything can be notation. Including laying out pebbles on a beach.

But further than that, I don't know.

1 comments

The usual argument is that "one should APL like one reads music", meaning that with experience you immediately recognize specific patterns which help you understand what is going on. As for why ASCII can't do that, only the critics know their true reason, which I suspect amounts to "it's different from what I'm used to". I've done both, and I found J notation no more obscure. Critics should also note that (Dyalog) APL departed from APL2 to copy many J patterns, so it appears difficult to argue that J was such a mistake to begin with.

Some people hold prejudice against parentheses and prefix notation, for others it's ASCII...

ASCII is a much smaller space of possible operators, so an ASCII-based language is always going to end up significantly more verbose than one that allows non-ASCII symbols. I don't use APL but I definitely appreciate being able to write ≤ or ⊆ or ∀ if that's what I mean, rather than having to expand those out in ASCII.
≤ "expands" in J to <: Definitely not more verbose.

J uses . and : as modifiers to a base operator to create a pretty big set of primitives. See https://code.jsoftware.com/wiki/NuVoc

> ≤ "expands" in J to <: Definitely not more verbose.

I mean, in a fixed-width font (as people tend to use for programming) it's literally twice as long. That adds up.

Actually, J is often less verbose than the equivalent APL, hence its use for code golfing.

This is less true since APL has begun integrating J semantics and operators, but still..