Hacker News new | ask | show | jobs
by jodrellblank 2009 days ago
> "Iverson was more interested in how quickly a person could understand an algorithm"

Has there been any study of whether J is quicker or slower than APL for this? Subjectively, APL is pretty and enticing in a way that J isn't.

It's very strange to me that someone who promoted Iverson Notation as a better math notation, and wrote Notation as a Tool of Thought, could apparently completely switch notation from 30 years of established APL symbols to pairs of ASCII symbols, effectively overnight, and carry on as if nothing was any different.

How much of J's success is because J was free and the big APLs were a lot of money, so J has been "the free way to get an array language experience" for years?

2 comments

It's also easier to do scripting with J since you can just use files. The (Dyalog) APL workspace infrastructure is very powerful but a bit heavy to use when all you want is a simple script. Of course, large banks and Fortune 500 companies seldom use just simple scripts, so that makes sense I guess.
Afaik the newest version of dyalog can run so. 'dyalog -script whatever.apl'
I think the notation is not the only difference in J. I believe that tacit programming is one of the improvements proposed by J, but I might be wrong.
Tacit programming was sure brought to the foreground by J, but function trains apparently precede it by a couple of years, and have since been implemented in Dyalog APL and NARS 2000.

The idea of functions having rank, and modifying rank, was also made central to J, but has been included in Dyalog APL more recently - as much as they can without breaking backward compatibility, I think.

But it's the "notation" change I'm struck by - the linked article says "discuss the future prospects of “the notation” in its various forms." as if APL and J and K are the same notation, when they casually, visually, aren't, and in the sense that J differs from APL of 1990 with rank and tacit functions and linguistic naming and behaviours (gerunds, conjunctions, et al), they aren't the same notation semantically either.

Compared to the various instantiations of Pidgin Algol, they're the same. (obligatory "next 700" reference...)