2009年4月19日星期日

Tiny is beautiful

正在开发的新项目代号是"Madagascar",  其中主要的虚拟机子项目的代号是"Lemur", 很多同事和朋友问我为什么要取这个名字, 其实我一直对可爱的小动物特别喜欢, 常常选他们作为项目的代号, 从早期的Koala(一个面向对象的脚步语言, 类似Python)到上一个java虚拟机"Kava"(Koala-Java), 和现在的"Lemur"(其实确切的说我喜欢的是Mouse Lemur). 有些人认为这个很孩子气, 所以我想有空和大家解释一下为什么这样, 虽然我不认为孩子气是什么坏东西. 

在整个技术研发生涯中, 我一直奉行"Tiny is beautiful"的原则. 在完成相同功能的基础上, 能尽量让东西小巧是最吸引人的. 这可能是为什么会长久致力于嵌入式小设备研究和开发的心理原因. 不同于面向完成功能而堆砌的模式, 我们力图通过好的系统架构来将系统或者系统的各个部件设计的尽量简单, 并借助好的接口模式将他们结合起来, 完成整体的功能需求. 可能也是由于这个原因, 我对"云计算"的架构表现出如此的热情.当然类似的还有很多值得欣赏的东西: "Micro kernel os", "Qmail", "IPod", "Apache", "A", "Mars rover", "ISS(International Space Station)", "RISC CPU"...... 当然,还有上帝创造的这些小巧却很可爱的动物.

有限的简单单元加上巧妙的架构(这个架构本身也要简单小巧)能也许能完成很强大的功能, 而不是像大家直观感觉上那么繁琐.  是不是很异想天开? 看看蚂蚁和蜜蜂的简单个体和强大的群体效能, Turing / Von Neumann(之前的文章介绍过这个天才)设计简单的计算机单元和强大的计算能力, 都能给我们很多启发.

最后给大家看看Mouse Lemur的样子:)


没有评论:

发表评论