编程可以从冯·诺依曼风格中解放吗?

自1977年约翰·巴科斯(John Backus)的“车削奖”(Turning Award)演讲以来,已经有40年的历史了。 程序的功能风格及其代数 ”。 他描述了一种正在使用的称为FP的功能级编程语言(不要与功能编程混淆)。 这是一篇超有远见的文章。 关键是,他指出了编程中一个基本的思想问题,该问题在40年后仍然有效。 该论点不是命令式编程还是函数式编程,而是人们如何思考和将编程视为显式语句控制流 ,甚至没有意识到这不是唯一的编程方法。 约翰·巴科斯(John Backus)的论文当时颇具争议,但这无疑是朝着正确方向迈出的非常好的一步。 本文的第一部分开始为以下页面设置色调: 常规编程语言正变得越来越强大,但并不强大。 最基本的内在缺陷使它们变得既胖又弱:它们原始的一次编程风格源自其共同祖先-冯·诺依曼计算机,语义与状态转换的紧密耦合,它们的划分编程成为一个表达世界和一个陈述世界的例子,它们无法有效地使用强大的组合形式从现有模型中构建新程序,并且缺乏对程序进行推理的有用数学特性。 自撰写本文以来已有40年了,但是您认为它不再重要了吗? 我认为大部分内容仍然适用于您首选的主流编程语言。 我听到你说这不再是事实了,因为大多数主流语言不是强制性的,而是面向对象的。…

我们在Loomly喜欢Ruby on Rails的9个理由😻

正如我之前的文章所述,我编写了Web应用程序的第一行代码,该代码最终将在Ruby on Rails上于2015年8月成为Loomly。 那时,我经常听到关于为什么Ruby on Rails可能不是正确选择的争论,并且表上有些新选项可能比DHH创建我的项目更合适的解决方案。 仅举几例,Rails 5引入了: Turbolinks 5,使我们能够通过这些出色的iOS和Android包装程序,将Web应用程序中的Web视图嵌入到分别由Swift和Java开发的本机“外壳”中,从而构建混合移动应用程序。 这种开发不仅非常快(1个月,一名工程师),而且还增加了很少的维护和开发负担(如果有的话):更少的应用程序商店和审阅提交,以及无需构建和维护单独的功能来维护iOS和Android。 Action Cable,“无缝地将WebSockets与其余的Rails应用程序集成。”虽然我还不能透露我们用它构建的内容,但我可以充满信心地说,Action Cable正在将我们的应用程序推向新的高度,实时功能的开发和页面更新轻而易举。 无论我们如何看,Rails一直在给我们的工程团队一个优势,以至于我们现在可以在功能上与竞争对手竞争10倍甚至100倍的竞争者。 就其本身而言,Rails已经是一个强大的工具。 将其与其他强大的语言,库和工具融合在一起,可能性的领域变得几乎无穷无尽。 尽管我们的应用程序从技术上来说是一个整体(目前而言),但在单个大型代码库中遵循标准MVC架构,但我们已经能够通过许多有趣的方式来为堆栈增加负载:…