翻译:最小能力原则

409 阅读2分钟

经常听到“任何能用 JavaScript 来写的应用,终将用 JavaScript 来写”这句名言,但是对其为什么流传如此之广并不理解,于是找了一下原文,原来本意是最小能力原则,而 JavaScript 恰是这样一种语言。这应该是一种经验定律,类似摩尔定律,对方案设计和技术选型有很好的参考意义。

原文:The Principle of Least Power

Tim Berners-Lee 在 最小能力原则 的意见:

计算机科学花了最近40年时间使语言尽可能强大。现在我们必须要理解 不选择最强大的解决方案而是最小能力的方案 的原因。语言能力越小,你能凭借存储于语言的数据所能做的越多。如果你用一种简单声明形式写(译注:原文 If you write it in a simple declarative from,from 应该是 form 拼写错误),任何人都能写一个程序分析它。如果,举个例子,一个有天气数据的网页用 PDF 描述数据,用户能以表格的方式取到它,或者求平均值,做图表,结合其他信息推断一些事。天平另一端是用精巧的 Java 小程序描绘的天气信息,诚然这也许允许呈现一个非常酷的用户界面,但完全不能被分析。搜索引擎发现这个页面将无任何办法理解数据是什么或关于什么。唯一查明 Java 小程序含义的方法是让它在用户面前运行。

这后来在一个更正式的 W3C 文档被编成法典,最小能力准则。我对此准则提出推论,本着 recent memes 精神,我称为 Atwood 定律:任何能用 JavaScript 来写的应用,终将用 JavaScript 来写。

如果你喜欢这篇文章,我推荐 Berners-Lee 的 架构和哲学要点 页面剩余部分。尽管内容在网络时间里比较老旧 -- 仅其中两篇文章写于去年 -- 它仍然包含了来自 发明万维网 的人的一些超越时间的金块般的建议和洞察。