每天推送5篇优质英文文章 · By makers, for makers

运营 1206 天, 推荐好文 5,350 篇, 原创简评 1,091,686 字, 原文总阅读时间 47,168 分钟, 153,865 人订阅

Edmond Lau一如既往地写出有料的博文!公司里对待软件,经常要做 " to buy or to build ",或者 " to rewrite or not " 的决定。这篇文章举了Google Docs的例子。Google Docs前身是Writely,他们被google收购了,用了12个星期时间把原来用C#写的系统翻译成Java,跑在了google的数据中心里。在这个重写的过程中,他们极度克制,不进行过多的改进,从而能超前完成任务 -- 这其实是克服人月神话里所说的 The second-system effect :

The second-system effect proposes that, when an architect designs a second system, it is the most dangerous system he will ever design, because he will tend to incorporate all of the additions he originated but did not add to the first system due to inherent time constraints. Thus, when embarking upon a second system, an engineer should be mindful that he is susceptible to over-engineering it.

Google/Facebook这样的大公司收购了小公司后,都会要小公司把他们的系统迁移到大公司的数据中心,然后一般要求他们重写整个系统以符合大公司的各种标准(比如编程语言标准、scalability的标准等)。Google内部严格规定了只能用少数几种语言,这是很好的一个实践。

分享到: