艾伦·凯博士谈"面向对象编程"的含义
艾伦·凯博士(Alan Kay)被誉为"面向对象编程"之父,他在本文中阐述了OOP概念的原始含义与初衷。凯强调,面向对象编程的核心并非类、继承或多态等如今常见的实现方式,而是关于消息传递和对象的自主性。他回顾了OOP理念源自生物细胞和计算机网络的类比,指出真正的面向对象应当像生物系统一样,通过独立个体之间的消息交互来模拟现实世界。
背景速读
Dr. Alan Kay 是计算机科学先驱,Smalltalk 语言的发明者,也是"面向对象编程"(OOP)这一术语的创始人。他在 2003 年的一封邮件中指出,OOP 这个词原本指的是"消息传递"(messaging)这一核心思想,而非后来业界主流理解的"继承 + 封装 + 多态"三件套。Kay 强调,他心目中的 OOP 更像一种细胞或网络计算机模型——各对象之间通过消息通信,而不是直接调用方法或共享状态。这一澄清常被用来批判现代 OOP 语言(如 Java、C++)偏离了最初的设计哲学。