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.
K 似乎已经死了,并被 Q 取代。它的所有许可证似乎都是专有的,并且解释器似乎更难找到(因为他们试图出售 kdb,而不是 Q)。
我找不到可以使用的 APL 版本。
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).
There is a free APL interpreter called NAS2000, but I find that it is only useful for proof of concept. Sometimes I get incorrect results (I programmed in APL years ago on everything from an 8K IBM 1130 to a PC/XT and sometimes I think the results are wrong) while other times they are just horribly slow. Best case in J it runs as fast as anything does. I have never used K, I have attempted doing about 100 Euler problems in J, and I am just starting to really understand rank. (About 10 of those, I have done in D, one in Lisp with supporting calculations in J, and one in an integer linear programming package which I then abandoned for D when I found that it would not give me the correct answer despite what I believed to be properly coded constraints.
J is, at its heart, a mathematical language, and it is well suited to most of the Euler problems, so just hunkering down and doing them, searching the jsoftware.com site when you need to, is the best thing you can do.
发布评论
评论(6)
APL
由 Kenneth Iverson 创建,作为原始数组编程语言。由于没有保留字,因此使用非 ASCII 字符集。 英国 APL 协会 保留一份最新的口译员名单(包括免费的和商业的),以及有关以下受 APL 启发的语言的信息。
A+
由 Arthur Whitney 创建,作为 APL 的后续产品。源代码可在 GPL 下获取,并且包含 XEmacs 扩展。从网站下载。
J
由 Kenneth Iverson 和 Roger Hui 创建,仅需要 ASCII 字符。尽管最近是在 GPL 下发布的,但该源代码过去需要花钱。从网站下载。
K
另一种 Arthur Whitney 语言,也使用 ASCII 字符。它背后的公司已经停用了该语言,但有开源的 Kona。
Q
构建在 K 之上,包含类似 SQL 的查询/连接功能(表是内置容器),这种语言构建于处理大量数据的基础上。非商业许可版本可以从网站下载。
至于积极使用的内容,Q 在金融领域相当受欢迎,而 J 则得到了学术界和业余爱好者的一些支持。这两个是当今数组编程的最佳选择。
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.
考虑到各个语言的性质以及材料的可用性,我将选择 J。
当前的 J 解释器不是开源的,但语言规范是开源的。因此,如果官方 J 解释器不再免费,开源项目可以实现它。
K 似乎已经死了,并被 Q 取代。它的所有许可证似乎都是专有的,并且解释器似乎更难找到(因为他们试图出售 kdb,而不是 Q)。
我找不到可以使用的 APL 版本。
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.
查看以下部分下的 APL 常见问题解答:在哪里可以找到机器 X 的 APL?
还有一个 wiki,其信息位于 http://aplwiki.com/Frontpage
Take a look at the APL faq under the section: Where can I find APL for machine X?
There's also a wiki that has info at http://aplwiki.com/Frontpage
你总是可以尝试 A+。免费来自 http://www.aplusdev.org/
这种 APL 语言演变成 J 和 Q
You could always try A+. Free from http://www.aplusdev.org/
This APL language evolved into J and Q
J 现已开源:http://www.jsoftware.com/source.htm
J is now open-source: http://www.jsoftware.com/source.htm
有一个名为 NAS2000 的免费 APL 解释器,但我发现它仅对概念验证有用。有时我会得到不正确的结果(几年前我在 APL 中对从 8K IBM 1130 到 PC/XT 的所有设备进行编程,有时我认为结果是错误的),而其他时候它们却非常慢。 J 中最好的情况是它运行得和任何东西一样快。我从未使用过 K,我尝试过用 J 做大约 100 个欧拉问题,我才刚刚开始真正理解秩。 (其中大约 10 个,我在 D 中完成,一个在 Lisp 中完成,并支持 J 中的计算,还有一个在整数线性编程包中完成,当我发现它不会给我正确的答案时,我放弃了它,尽管我做了什么 J被认为是正确编码的约束,
其核心是一种数学语言,并且它非常适合大多数欧拉问题,因此只需埋头苦干并在需要时搜索 jsoftware.com 网站即可。你能做的最好的事情。
There is a free APL interpreter called NAS2000, but I find that it is only useful for proof of concept. Sometimes I get incorrect results (I programmed in APL years ago on everything from an 8K IBM 1130 to a PC/XT and sometimes I think the results are wrong) while other times they are just horribly slow. Best case in J it runs as fast as anything does. I have never used K, I have attempted doing about 100 Euler problems in J, and I am just starting to really understand rank. (About 10 of those, I have done in D, one in Lisp with supporting calculations in J, and one in an integer linear programming package which I then abandoned for D when I found that it would not give me the correct answer despite what I believed to be properly coded constraints.
J is, at its heart, a mathematical language, and it is well suited to most of the Euler problems, so just hunkering down and doing them, searching the jsoftware.com site when you need to, is the best thing you can do.