The Rise of Worse Is Better 论文-学习笔记

《The Rise of Worse Is Better》是计算机科学界经典的议论文,做者是Lisp和Emacs圈子里的名人Richard Gabriel,他也是ACM Fellow。Worse Is Better软件思想正是起源于此,它的主要思想是:编程语言或者软件系统的简洁性(Worse,功能少+简单+实现容易)每每会比那些大而全、功能复杂的要好(Better)。html

做者指出,软件设计中存在两种设计哲学:编程

  • MIT/Stanford Style,作科学研究的风格,do the right things,完美大而全、一次正确,表明做品:Emacs、Common Lisp。
  • New Jersey Style,作工程技术的风格,worse is better,先保持实现简单推出部分功能,然后在发展中迭代进化出更好更多的功能,表明做品:Unix和C语言。

这两种设计哲学之间的区别本质是学院派与实践派之争。less

在讲两者的区别以前,先来看下做者提到的软件设计的四大原则:编程语言

  • 简单性,Simplicity,软件设计必须简单,包括实现与接口。
  • 正确性,Correctness,在解决问题的各个方面,软件设计必须正确。
  • 一致性,Consistency,软件设计不能先后矛盾不一致。
  • 完备性,Completeness,软件设计必需要尽量多地覆盖事件中的重要场景。

MIT Style与New Jersey Style设计风格的区别仅在于对待这四项原则的优先级与重要程度不一样。学习

  • MIT Style:正确性/一致性 》 完整性 》简单(接口》实现)。
  • New Jersey Style:简单(实现》接口)》正确性 》完整性 》一致性。

Worse is Better 哲学(New Jersey Style)中:实现简单具备最高优先级。 开始只有简单才有利于其快速传播,传播开来后逐渐优化并增长更多功能。要作到『Win』,总结起来能够分为下面三个步骤优化

  • First:得到用户承认接受
  • Second:让用户保持少的期待
  • Third:持续改进接近the right thing

正如原文所言:this

The lesson to be learned from this is that it is often undesirable to go for the right thing first. It is better to get half of the right thing available so that it spreads like a virus. Once people area hooked on it, take the time to improve it to 90% of the right thing.

:因为用词(Worse)比较激进(按照做者的话说来,他采用worse一词是夸张的手法,为的是引发人们对这种观点的重视,但『话糙理不糙』),这篇论文在当时引发了业界很多反对的声音,也激起了关于更好地的软件设计风格的讨论。设计

后续:因为这篇论文在当时影响甚广,已经出现了不少对做者本意有误解、曲解(不要以为外媒就不会有标题党。。)的评论,同时人的想法也不是一成不变的,都在不断的学习、进步,观点也在不断修正,做者对待worse is better思想的见解也渐渐发生了一些改变(本质上是优化了),因此讨论一直存在。下一篇将介绍下:Worse Is Better思想的发展史,这里先占个位。htm

相关文章
相关标签/搜索