关于这些话题,我已经读了一段时间了,也许我已经理解了一些东西。但我对一些联系感到困惑:
一.图灵机(准确地说是RAM模型)&命令式编程
Lambda &函数式编程
二、Von系统体系结构&命令式编程
我几乎得到了(我)的联系,但我没有得到什么(ii)。然而,从巴克斯图灵讲座来看,我认为两者之间有某种联系。在许多地方,我甚至看到了写成“冯·努曼范式”的祈使范式。那么,Von Neuman系统架构是否在某种程度上帮助了命令式语言的发展,如果我们遵循其他系统架构--例如霍华德体系结构--情况会有所不同吗?
发布于 2018-09-25 02:11:53
你所链接的Backus的论文直接提到了这一点(重点是我的):
…我们可以粗略地描述计算系统…的三类模型 2.2.1简单操作模式。例子:图灵机,各种自动机。… 2.2.2应用模型。例如:丘奇的lambda微积分 5,Curry的组合子系统6,纯Lisp 17,函数式编程系统。基础:简洁实用。历史敏感性:没有存储,没有历史敏感。语义:约简语义,无状态。程序清晰:程序可以是清晰的,在概念上是有用的。 2.2.3 Von Neumann模型。例如: von计算机,传统编程语言。基础:复杂,笨重,没有用处。历史敏感性:有存储,历史敏感。语义:具有复杂状态的状态转换。程序清晰性:程序可以是适度清晰的,在概念上不是很有用。 诚然,上述分类很粗糙,值得商榷。
如果我能进一步推断:
FP语言,例如Haskell,目前编译成在Von计算机上执行的命令式机器代码。函数式程序员通常避免在一定程度上考虑内存的变异,而倾向于由编译器来解决这个问题。
查看这一点的一种方法是,FP语言为Von体系结构的物理管道提供了完全的抽象。然而,这确实提出了一个问题,即根本不同的体系结构是否能更好地匹配功能语言。
这就引出了:还原论。它目前的形式是一个现场可编程门阵列(FPGA),它展示了物理机器为FP评估量身定做的潜在好处。
简而言之,Reduceron采用了一个函数程序,这是一个函数应用程序的无状态图,并将其分解为大量并行函数应用程序。然后在输入数据上运行这些并行应用程序。
它可以将整个程序并行化,因为在FP中,函数应用程序的执行通常并不重要,因为不存在可变状态,因此不存在可能的争用条件。唯一可能的延迟是依赖可用性--您是否有输入。如果这样做,则将输入提供给函数始终是安全的。
现在,据我所知(在这里,我要走一段路),FPGA对于研究人员来说是一种相对便宜的方法,可以用来观察这些想法在物理世界中是如何站得住脚的。与其设计和打印集成电路,然后从英特尔( Intel )或AMD (AMD)等公司订购批发号,院士们只需在一个现成的FPGA上设计一个门阵列(如果我理解正确的话,我也不是一个硬件人)。
最初的结果看起来很有希望!但在实践中,我们没有看到硬件制造商成群结队地为FP语言推出全新的芯片线。现有的知识、基础设施和对英特尔CPU之类的东西的需求是巨大的。命令式编程仍然比功能编程更常见,而且这种情况在不久的将来似乎不太可能改变。
旁注:我假设你关于“霍华德”架构的问题是“哈佛”的拼写错误。就本主题而言,哈佛体系结构与冯·诺依曼体系结构非常相似。
https://stackoverflow.com/questions/51949858
复制相似问题