摩尔定理给所有的计算机消费者带来一个希望,如果我今天嫌计算机太贵买不起,那么我等十八个月就可以用一半的价钱来买。要真是这样简单的话,计算机的销售量就上不去了。需要买计算机的人会多等几个月,已经有计算机的人也没有动力更新计算机。其它的 IT 产品也是如此。
事实上,在过去的二十年里,世界上的个人微机销量在持续增长。2004 年,英特尔公司估计,五年内,即到 2009 年,世界上 PC(包括个人机和小型服务器)的销量会增长 60%,远远高于经济的增长。那么,是什么动力促使人们不断地更新自己的硬件呢?IT 界把它总结成安迪-比尔定理,即比尔要拿走安迪所给的(What Andy gives, Bill takes away)。
安迪是原英特尔公司 CEO 安迪·格鲁夫(Andy Grove),比尔就是微软的创始人比尔·盖茨。在过去的二十年里,英特尔处理器的速度每十八个月翻一番,计算机内存和硬盘的容量以更快的速度在增长。但是,微软的操作系统等应用软件越来越慢,也越做越大。所以,现在的计算机虽然比十年前快了一百倍,运行软件感觉上还是和以前差不多。而且,过去整个视窗操作系统不过十几兆大小,现在要几千兆,应用软件也是如此。虽然新的软件功能比以前的版本强了一些,但是,增加的功能绝对不是和它的大小成比例的。因此,一台十年前的计算机能装多少应用程序,现在的也不过装这么多,虽然硬盘的容量增加了一千倍。更糟糕的是,用户发现,如果不更新计算机,现在很多新的软件就用不了,连上网也是个问题。而十年前买得起的车却照样可以跑。
这种现象,乍一看来是微软在和大家做对。实际上,盖茨本人和其它厂商也不想把操作系统和应用程序搞得这么大。据了解,盖茨本人多次说,他过去搞得 BASIC 只有几十 K,你们(微软工程师们)搞一个.NET 就要几百兆,其中一定可以优化。当然,我们知道微软现在的.NET 比二十年前的 BASIC 功能要强的多,但是否强了一万倍,恐怕没有人这么认为。这说明,现在软件开发人员不再像二十年前那样精打细算了。我们知道,当年的 BASIC 解释器是用汇编语言写成的,精炼得不能再精炼了,否则在早期的 IBM-PC 上根本运行不了。但是,要求软件工程师使用汇编语言编程,工作效率是极低的,而且写出的程序可读性很差,不符合软件工程的要求。今天,由于有了足够的硬件资源,软件工程师做事情更讲究自己的工作效率,程序的规范化和可读性等等。另外,由于人工成本的提高,为了节省软件工程师写程序和调程序的时间,编程的语言越来越好用,同时效率却越来越低。比如,今天的 Java 就比 C++ 效率低得多,C++ 又比二十年前的 C 效率低。因此,即使是同样功能的软件,今天的比昨天的占用硬件资源多是一件在所难免的事。
虽然用户很是烦恼新的软件把硬件提升所带来的好处几乎全部用光,但是在 IT 领域,各个硬件厂商恰恰是靠软件开发商用光自己提供的硬件资源得以生存。举个例子,到去年上半年为止,因为微软新的操作系统 Vista 迟迟不能面市,从英特尔到惠普、戴尔等整机厂商,再到 Marvell 和 Seagate 等外设厂商,全部销售都受到很大的影响,因为用户没有更新计算机的需求。这些公司的股票不同程度地下跌了 20% 到 40%。去年底,微软千呼万唤始出来的 Vista 终于上市了,当然微软自己的业绩和股票马上得到提升,萧条了一年多的英特尔也在今年初扭转的颓势,当然惠普和戴尔也同时得到增长。今年,这三家公司的股票都有大幅度上涨。接下来不出意外的话,该轮到硬盘、内存和其它计算机芯片的厂商开始复苏了。Vista 相比前一个版本 XP,也许多提供了 20% 的功能,但是它的内存使用几乎要翻两番,CPU 使用要翻一番,这样,除非是新机器,否则无法运行 Vista。当然,用户可以选择使用原来的操作系统 XP,但是很快的,微软和其它软件开发商会逐渐减少对 XP 系统的支持,这样就逼着用户更新机器。