前言

Mr. Alan Kay. You’ve said Smalltalk was about messages, not objects, and about creating a medium for thought. Do you think modern software has lost that goal—and is it still possible today to build systems that truly support human thinking?

你曾说 Smalltalk 关乎消息,而不是对象,并且旨在创造一种思想的媒介。你认为现代软件已经失去了那个目标吗? 今天是否仍有可能构建真正支持人类思考的系统?

译文

提问中包含了几个问题, 它们之间并没有很强的重叠。

“消息”这一部分, 以及关于编程技术的一般性问题, 大体可以用这个(过于简化的)说法来概括:软件开发和系统并没有相应的“摩尔定律”。我们在容量和基础计算速度上看到了数十亿(甚至数万亿)倍的规模增长。相比之下,尤其是在工程方面,自上世纪八十年代以来并没有发生太多变化。(我正在努力避免写成一篇过长的挽歌!)

通过试图抛弃现有观点,仅仅观察规模扩张带来的工程需求(以及对人类生命的危险),可以取得很多成果。像 “任何人都能建造一个不会塌到狗身上的狗屋,但将大多数方法按 100 倍的比例扩展会对狗非常危险——甚至致命” 这样简单的想法,能够帮助开始朝着更好的方向思考。


从其本质上讲,用材料去制造东西本身也是一种思想的媒介。问题在于缺少了限定的形容词。既然“大多数想法从平庸到糟糕不等”,单纯的制作不太可能产生有助于创造更好世界的思考(而通常恰恰相反!)。