专栏名称: 无垠王垠
分享
今天看啥  ›  专栏  ›  无垠王垠

有人跟我提起 Akka 和 actor model,又让我回忆起-20200213181101

无垠王垠  · Wei  · 程序员  · 2020-02-13 18:11

2020-02-13 18:11

有人跟我提起 Akka 和 actor model,又让我回忆起当年研究 actor model 时候的情形。翻了一下电脑,居然发现 actor model 的创始人 Carl Hewitt 之前的 paper 一直存了下来,还做了笔记。

Carl Hewitt 写于 1973 年的 actor model 论文,我当年仔仔细细,从头看到尾,逐字逐句斟酌了很久。最后我得出的结论是,actor model 比起已知的理论,没有包含任何新的想法。Actor model 自称可以对物理模型进行建模和“逻辑验证”,然而它的设计隐藏了太多的状态,基本跟面向对象语言的「对象」是一回事,以至于不可能对它进行形式逻辑推理。

Carl Hewitt 是我见过的第一个,也是最后一个在自己 paper 里面把各种术语标上「商标」(TM) 记号的学者,而且喜欢在标题下面写上『这篇 paper 献给 xx』(其中 xx 是某个历史著名人物,比如维根斯坦,John McCarthy)。

从 actor model 的 Wikipedia 网页,你可以发现 Carl Hewitt 自称 actor model 受到了物理学,包括广义相对论和量子力学的启发(『... was inspired by physics, including general relativity and quantum mechanics』)。

由于 Carl Hewitt 乱改 Wikipedia,有一段时间他被 Wikipedia 封了账号。结果他在自己主页上大骂 Wikipedia。

这些都给你什么样的信号?[笑而不语]

很多人称 actor model 启发了很多其它模型,包括 Scheme 语言和 pi-calculus。但我一点也看不出来它们之间有任何联系,我觉得这些都是牵强附会,夸大 actor model 的「丰功伟绩」。

搞并行计算的人很喜欢把 actor model, CSP 一类的挂在嘴边,然而看进去之后,你会发现那些都毫无意义。现在各种软件里面号称实现了 actor model,我并不否认它们在实际上的价值,然而它们真正起作用的原理和优势,跟 Carl Hewitt 原来的 actor model 设计其实毫无关系。

挂着羊头卖牛肉,这就是大家正在用「actor model」的名字做的事情。

今天看啥 -
本文地址:http://www.jintiankansha.me/t/xmXH3H4J8Y