Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Learning J/K/APL [closed]

I know all 3 are related, and I've seen quite a few answers for problems in Project Euler written in J, and a few written K. What I'm wondering is, which would you suggest learning, and where would you suggest going about getting the materials to learn it?

like image 322
Ashton K Avatar asked Sep 29 '09 07:09

Ashton K


2 Answers

APL

Created by Kenneth Iverson as the original array programming language. Uses a non-ASCII character set as there are no reserved words. The British APL Association keeps an up-to-date list of interpreters (both free and commercial) as well as information on the APL-inspired languages covered below.

A+

Created by Arthur Whitney as a follow-up to APL. The source code is available under GPL and there is an included XEmacs extension. Download from the website.

J

Created by Kenneth Iverson and Roger Hui, this only requires ASCII characters. The source used to cost money, though recently was released under GPL. Download from the website.

K

Another Arthur Whitney language, this also uses ASCII characters. The company behind it has since decommissioned the language, but there is the open-source Kona.

Q

Built on top of K to include SQL-like query/join capabilities (tables are a built-in container), this language is built on handling lots of data. A non-commercial licensed version can be downloaded from the website.


As for what's actively used, Q is fairly popular in finance, whereas J has some support from academia and hobbyists. Those two are your best bet for array programming these days.

like image 112
chrisaycock Avatar answered Oct 16 '22 22:10

chrisaycock


Given the natures of the individual languages, and the availability of material, I'm going to go with J.

The current J interpreter is not open source, but the language spec is. So should the official J interpreter no longer be free, an open source project could implement it.

K appears to be dead, and replaced by Q. All licenses on it appear to be proprietary, and the interpreter appears to be harder to find (as they are trying to sell kdb, not Q).

I can't find a version of APL to use.

like image 2
Ashton K Avatar answered Oct 16 '22 22:10

Ashton K