我正在尝试学习 APL ( Kona ),并且我正在寻找示例项目,以便了解有经验的 APL'er 如何组织他/她的代码。
任何开源项目都会有所帮助,但非财务或任何缺乏大量数学的项目都会很棒。
我正在尝试学习 APL ( Kona ),并且我正在寻找示例项目,以便了解有经验的 APL'er 如何组织他/她的代码。
任何开源项目都会有所帮助,但非财务或任何缺乏大量数学的项目都会很棒。
我也找了,还没找到。APL 是一种非常古老的语言;它完全早于整个开源运动。与同样古老的 Lisp(其历史包括大量 AI 实验室研究和开放协作的精神)不同,APL 的文化历来与 IBM、商业分时系统和金融相关联。不过,凯文和我正试图用科纳来改变这一点。
在没有臭味循环的情况下,有相当多的 k 代码。不过,其中一些是为与 Kona 目标不同的 k 版本编写的。Hakan Kjellerstrand 也有出色的 K 页面。
还有几本很棒的 APL/J/K/Q 书籍。我特别推荐 Kenneth Iverson 的A Programming Language,Henry Rich 的C Programmers J,Jeffry Borror 的 Mortals 的Q(Q 是 Kx 的 K 的最新版本),以及 Gilman & Rose 的APL: An Interactive Approach。除了最后一个之外,所有这些都可以在线获得。
请记住,许多人将 APL 用作数学工具(如 R、mathematica、gnuplot 等),而不是用于编程本身。(恕我直言,J 是最好的选择。)K 被设计为一种更通用的编程语言,感觉像是 APL、Lisp 和 C 的综合。不过,它在语言家族中是一个异常值。
如果您阅读本文,您会发现 Kona 是“K 编程语言 (K3.2) 的开源实现”。不幸的是,如果您访问K 编程语言的创建者的主页并查看产品,您会发现 K 似乎不受支持。
此外,查看 APL 和 K 的 Wikipedia 文章,语法似乎相当复杂(例如 x@>#:'x 用于按长度对字符串列表进行排序)!我建议学习汇编程序(通过 nasm;最流行的汇编程序之一)、C++、C,也许还有 Python,而不是 APL 或 K(两者似乎都不受支持和未使用)。