■ 引
这两天了解了一下 Pylons 这个 Python web framework,对它第一印象还算可以,不过按照 Tutorial 写的程序居然不能运行……原因是去年发布以后所依赖的库发生了巨大的变化.-__-b
这种依赖剧烈升级似乎是一个惯常的严重问题了。想想 Linux 每次升级库的时候的提心吊胆就知道了。依赖库能够最大程度的提高开发效率,减少自己制造轮子的问题,可是用别人造的轮子就有需要匹配轮子的问题。比如这个 Pylons , 从 0.9.7 到 1.0rc 似乎没什么新鲜功能,可是开发者还是叫苦说自己可没闲着,都在忙着和依赖库的变化作斗争。
这也难怪 Intel 和 Microsoft 这样的企业能在多年的不思进取的指责中屹立不倒,他们靠的就是在开发新功能时候维持一个尽量稳定的产品接口( X86指令集,Windows API )。
■ 问
《人月神话》告诉我们一件工作一个人十天能做完,可是找十个人却不见得能够一天做完。而如果这些人还不是受雇同一个主顾,没有统一的交流平台的话,情况只会更糟糕。e-mail/mailing list/ICR/twitter 交流手段不断变化,效率提升却不明显。
可是人不可能有足够的预见,以至于我们只需要一起维护一个不会失败的方案。于是我们就需要尝试不同的方案,而从提高效率考虑,又需要人们分散去尝试不同的方案。
■ 玄
沟通问题很像是并行计算里数据/控制传输成本,每个人就像集群中的一台机器。处理更大规模的计算,要么有更好的算法,要么有更强大的节点。可是无论我们怎么优化节点(提高每个人自身的能力),似乎都已接近上限了;那么只能改进算法(改进合作模式)。
想起 Yale Patt 的一个比喻,我们需要一个智商 350 的聪明人,可是只找到 10 个智商 35 的,那么是不可能解决问题的。那么一个直接的推论就是只要这类问题存在,那么人类能成果的发展最后就会止于再也找不到更聪明的人。(当然节点数目——环境可承载人类总数——也可能成为约束,可是我们已经有很多人了不是?)
那么,我们有多接近这个极限?
■ 空
我们需要接近这个极限么?更多的产品,更好的服务,更快的速度,更低的价格……我们一直追寻,想得到什么?
No comments:
Post a Comment