APL死了吗?

2020-05-03 13:36:52

希勒尔·韦恩(Hillel Wayne)最近发表的一篇关于有影响力的死语言(他指出,大部分语言已经死了)的帖子提醒我,关于APL有很多人们不知道的东西,鉴于APL在广泛的编程世界中的默默无闻,人们认为APL是一种(大部分)死语言,这是情有可原的。但是这个问题经常出现,所以我认为有必要从这个角度来审视APL,澄清现代世界对APL的理解。让我们分三部分来研究这个问题:……。

是什么造就了一种死亡的语言呢?简而言之,缺乏生命。但是,这如何适用于编程语言呢?衡量受欢迎程度和用户基数的代理指标可以帮助我们,因为流行语言永远不会消亡。其原因是,拥有许多开发人员和用户的语言几乎总是在发展和发明新的功能、代码和界面。它们保持与现代设备和接口的连接。尽管如此,人气并不代表一切。毕竟哈斯克尔花了很多年。

生活就是创造、运动和潜力。当一种语言停止在这些维度上提供价值时,它就会消亡。换句话说,当一种语言不再有任何贡献时,当它不再适合创造新想法时,当它不再跟上用户需求的步伐时,它就死了。

在嵌入独特的或创新的思维和解决问题模式的同时保持可用性的语言对受欢迎程度的损失有更强的适应能力。事实上,大多数新语言之所以从默默无闻中崛起,恰恰是因为在某种意义上,可用性和新颖性/创新性的独特结合。但像APL这样的语言是一个很好的例子,说明即使是伟大的语言也可能因为市场力量和未能在合适的利基市场交付价值而变得默默无闻。格言是什么?……。

通常情况下,一种新的语言可能会相对较快地消亡,因为新鲜感逐渐消失,其精华被吸收到其他语言中。语言的基本独特性和价值越少,语言消亡的速度就越快。这就是为什么我们看到这么多可能是遗产的语言仍然在某些利基市场上发挥作用:它们的价值高得离谱,或者被认为在这些领域是如此。

APL作为一种快速、准确地解决问题的超高生产力语言,在70年代和80年代蓬勃发展。它允许访问其他人无法访问的大型机。大学的计算机科学系实际上发现这太容易了,许多采用软件工程模型或正式方法模型的系开展了一场反对APL的激烈运动。

在90年代,软件工程、个人计算机和面向对象编程(Tm)的浪潮吞噬了所有的替代品。APL供应商没有做出充分的回应,当时的时尚意味着APL以用户为中心的快速开发很快就变成了不受欢迎的角色。电子表格的日益流行意味着APL正在打一场双线战争,它很快就失去了市场份额。像J这样的努力未能获得足够的市场份额来转向.。

尽管如此,APL继续为其现有客户提供非常高的价值,Dyalog不仅继续投资于维护这种语言,而且继续发展和发展它,以保持相关性,并在许多方面仍然领先于时代(似乎领先了大约20年)。结果是一门非常坚实的语言,拥有一些最好的工具。已故伟大的John Scholes将函数式编程引入该语言至少比主流编程中的任何人早十年(包括.。

APL社区愿意在快节奏和实用的商业世界中继续追逐思想工具的含义,这有助于APL免受过多时髦编程的影响。具有讽刺意味的是,它还让APL在这十年里像凤凰一样从默默无闻中崛起,拥有一个成熟、快速和经验丰富的工具和技术平台来解决当今的问题,因为当APL离开时发生了一些事情,这些事情极大地改变了APL的价值主张。

这些年来,不仅APL不断发展和改进,编程社区的其他成员也一直在艰难地吸取教训,这些教训只会让APL在今天变得比以往任何时候都更有意义。

事实证明,OOP和软件工程并不像我们想象的那样是天赐之物,特别是在快速变化的情况下。事实证明,组合Lego块编程方法在函数式编程和以库为中心的Python模型中都非常有效。几年前,麻省理工学院著名的课程偏离了当时(十年?)的6.001门课程,就讨论过这个问题。

我们也看到了领域专家在编程实践中的价值。像敏捷方法之类的方法强调代码和与系统用户紧密、高效的沟通。许多APL商店使用的方法一直在使用和掌握敏捷