计算机除了冯诺依曼架构,什么是实用的非冯·诺依曼架构?

我以非冯·诺伊曼(Von Neumann)来假设,您的意思是按照巴克斯(Backus)的论文“可以从冯·诺伊曼风格中解放编程吗?”绕过“冯·诺伊曼瓶颈”的语言。对于那些感兴趣的人,可以在这里找到副本:http :

//www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf

您的问题的答案由于某些原因而必须模棱两可。

首先,哪种语言满足他的论文中的标准?尽管有一些人将函数式编程追溯到了本文,但是由于他的意思是无点编程,因此现在被人们误解了。那么,您是否怀有最初的误解或论文的真实意图?有关他的含义的详细说明,请参见以下内容:http :

//en.wikipedia.org/wiki/Function-level_programming

第二,如果您误解了,那么功能如何发挥作用?您拥有纯功能语言,不纯功能语言以及对功能范例相对友好的语言。考虑到您提到流行度,并且它与功能纯度之间存在反比关系,那么应该包括哪些语言?您是要使用最流行的纯功能语言(根本不会流行)还是要满足某些“功能性”最低标准的更流行的语言?如果是后者,这些标准是什么?

因此,根据您的观点:

Haskell是我所知道的最流行的完全纯函数式语言,并且其中编写了一些应用程序。但是,尽管在功能编程社区中占有一席之地,但在大型编程社区中并不流行。另外,使用它后,我觉得它在现实世界中并不实用,并且似乎在理论上很有价值。它确实允许无指向性的样式,因此您可以以此来实现Backus的一些目标。

Clojure,Scala和F#不够纯净,但实用性和流行性更高。F#对无点样式也很友好。

Forth可能是无点语言的原型示例,并且在当时非常流行,尽管现在... Factor是另一种获得关注的无点语言,但是我怀疑它是否与Forth的鼎盛时期相匹配。

Backus在某一时刻(也许不是在他的论文中)提到APL是迈出的一步,但并不完全符合他的目标。当时,它在金融领域非常重要。确保检查出其后代,例如J。

JavaScript不起作用,但是它对高级编程风格非常友好,这可以通过大量使用闭包来证明。鉴于其受欢迎程度,它可能仅符合条件。确保检查使用JavaScript完成的一些有趣的工作,例如currying和combinator实现。

作为一个脚注,为了使您对他的目标有更多的了解,您可以查看他为满足自己的条件而设计的两种语言。它们并不是在所有AFAIK上都不受欢迎,因此这纯粹是出于知识的考虑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值