知识卡片

强大的设计原则最实在的好处,是"要学的东西不多"

专业/工作

内容

Smalltalk整门语言只由6种语法构建块组成(伪变量、常量、变量声明、赋值、语句块、消息),甚至连条件判断和循环都不是语言内置的特殊语法,而是通过”给布尔对象发消息、传入一个语句块作为参数”这种统一机制实现的——没有专门的if语法,没有专门的for语法。这种极简带来的好处不是代码更短,而是学习成本的坍缩:一旦你理解了”发送消息”这一个核心操作,整个语言的其他行为都是这同一个操作的变体和组合,而不是需要逐一死记硬背的一堆特殊语法规则。这提示一个评价系统设计精简程度的实用标准:不是看它的功能列表有多长,而是看这些功能背后,能不能归纳成极少数几条正交的基础规则——规则数量越少、覆盖的功能越多,说明设计得越精炼。

参考来源

《架构之美》第14章《重读经典》