一封给面向对象的情书:回到 Alan Kay 的本意
来源:blog.mempko.com — 2026-07-11
📋 概述
Maxim Khailo 为面向对象编程撰写了一封深情的情书,力图纠正业界对 OOP 的普遍误解。他追溯了 Alan Kay 在研究生时期发明「面向对象」一词时的原始语境:消息传递(messaging)才是 OOP 的核心,而非类层次结构。Kay 在 1998 年的邮件中明确指出「我后悔发明了『对象』这个词,因为它让人们关注了次要的概念」。作者将这一理念延伸到自己正在构建的 Abject 项目中——一个基于 Ask 协议的分布式对象系统,试图在 AI 时代复兴真正的面向对象理念:互联网本身就是一个面向对象系统,每个独立的系统通过消息传递跨边界通信。
🔑 核心要点
- Alan Kay 在 1998 年 Squeak 邮件列表中公开澄清:「OOP 的核心是消息传递,不是类」——他后悔发明了「对象」这个词。
- OOP 的真正先祖是 Ivan Sutherland 1963 年的 Sketchpad——一个视觉化的、通过约束和求解器解决问题的系统,根本没有编程语言。
- 互联网是面向对象系统的最佳实例:独立系统通过约定的协议互相发送消息,不存在巨型类层次结构。
- 作者的项目 Abject 和 Ask 协议试图在 AI 时代重新实现 Kay 的原始愿景——分布式对象通过消息传递和后期绑定协同工作。
- Smalltalk 的关键设计决策:后期绑定(在消息接收时决定含义)+ 元系统(让系统能安全地推理和扩展消息规则)。
- 主流 OOP 语言(Java/C++)搞错了重点:类继承和静态类型系统才是 Kay 原意中的次要部分。
💡 金句
The big idea is 'messaging' — that is what the kernel of Smalltalk/Squeak is all about. ——核心思想是「消息传递」——这才是 Smalltalk/Squeak 精髓所在。
👍 0
👎 0
← 返回 Lobsters 首页