我正在使用Dyalog APL,但我发现某些功能在gnu-apl中不可用。这两个APL实现和所有其他APL实现之间是否存在很大差异?什么是最常用的APL编译器?
答案 0 :(得分:6)
出于所有实际目的,所有商业APL实施都是口译员。
有一些供应商,APL2000,Dyalog,IBM和MicroAPL,可能还有其他供应商。我今天所知道的三个非商业APL工作是在您的浏览器上运行的GNU APL,NARS2000和NGN APL。
我认为我无法准确猜出哪种系统最常用。这可能取决于您在(远程)过去使用的APL系统 - STSC分时或APL * Plus \ PC用户可能倾向于使用APL2000,Sharp分时可能会与Dyalog一起使用,而IBM大型机APL2用户可能会坚持使用APL2对于PC。通常存在一些重要特征的连续性,这些特征可能使不同的APL对不同的用户具有或多或少的吸引力。
尽管存在核心APL语言,但供应商通常会为其版本添加语言扩展和非常重要的专有增强功能,包括但不限于APL文件系统,与.DLL等系统工具的接口或.SO文件,.Net,Java,Windows和表单设计增强,面向对象的功能等。
所以,是的,不同的APL实现之间存在很大差异。这是一个你需要什么的问题。
答案 1 :(得分:1)
我使用Dyalog APL和apl2000'S APL +系列完成了专业工作,但后者更多。也许正因为如此,我倾向于更喜欢它,但这非常属于品味问题。每个都有许多核心语言的专有扩展。一些(例如控制结构)以非常类似的方式实现,一些(例如定义的运算符)对于一个系统是唯一的。但是我发现几乎任何序列或算法都可以很容易地从一个序列或算法转换到另一个序列或算法,而且我还没有找到任何可以在另一个中完成的东西,在另一个中可能不容易完成,也许是方法略有不同。我从未专注于IBM的APL2,但情况并没有那么不同。