每时每刻我都在琢磨一种编程语言所做的一些与众不同的事情,这改变了我对编程的思考。在这篇文章中,我想分享一些我最喜欢的发现。这不是那种“函数式编程将改变世界”的博客文章:这篇文章的内容会更加深奥。我敢打赌大多数读者都没有听过下面的编程语言和范型,所以我希望你像我一样有很大的兴趣来学习这些新概念。注意:对于下面的大多数语言我拥有的经验很少:我只是发现它们背后的思想十分有魅力,但对于它们我没有任何专业知识,所以有任何更正和错误请指出。另外,如果你发现这里存在没有提到的任何新的范型和想法,欢迎把它们分享出来。更新:这篇文章上了r/programming和HN的首页。感谢反馈,我已经添加了一些修正。默认支持并发(Concurrent by default)示例语言:ANI,Plaid让我们先从改变思维方式开始吧:有一些编程语言默认情况下就是支持并发的。也就是说,每行代码都是并行执行的。例如,假设你写了三行代码 A,B 和 C:A;
B;
C;在大多数编程语言中,A 会先执行,然后执行 B,最后执行 C。但在像ANI这样的语言中,A, B, 和 C 都将同时执行。ANI语言中代码行之间的控制流或排序只是代码行之间显式依赖的副作用。例如,如果 B 具有对 A 中定义的变量的引用,则 A 和 C 将同时执行,并且 B 将在 A 完成之后执行。来看一下 ANI 中的一个例子。如教程中所述,ANI 程
...
继续阅读
(41)