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

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

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

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

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

在讲二者的区别之前,先来看下作者提到的软件设计的四大原则:

  • 简单性,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

正如原文所言:

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思想的发展史,这里先占个位。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值