扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Windows Vista 已经上市,如果您购买成品PC,那您几乎能够肯定您也得到了一个Vista的副本。Vista过去被描述成为最大的软件开发计划。我对这种说法表示困惑。
不过在开始谈论编程问题以前,我们首先来谈谈环境问题。由于新软件总会淘汰旧的硬件,因此似乎IT几乎没法实现“绿色”。这一次,微软又推出了一版无法在很多现有系统上运行过操作系统。毫无疑问,这样的操作系统会遭到抵抗,但同时你也很难阻止人们向Vista的迁移。
“有人可能会认为这种局面会由于Vista缺少任何显著的引人注目的性能无法吸引人们升级换代而得到挽救。但是生活可没这么简单。”
不仅有Vista技术给系统带来压力,微软的定价也鼓励人们淘汰毫无用处的电脑。Vista的零售价过高,升级费用也不比以前版本的Windows更具吸引力,而且还伴有另人不快的限制。吸引人们的是OEM版本的软件,价格不到零售价格的一半。
我们用Amazon上的价格作为参考,Vista家庭优惠版标价£197,而OEM版本只需要£68。毫无疑问,大的PC厂家购买价格更低,而且我们知道,一般在美国的售价要比在英国的售价更低。Office软件的价格就存在类似的差别。微软公司通过种种方法,从财务方面鼓励人们淘汰旧电脑换用新机器。
有人可能会认为这种局面会由于Vista缺少任何显著的引人注目的性能无法吸引人们升级换代而得到挽救。但是生活可没这么简单。升级一般被认为是强迫进行的,是由一件事情导致另外一件事情的发生。因此,看起来我们需要暂停对“绿色”IT的追求,至少要等到微软推出能在全部现有硬件上运行的新的操作系统,或者新操作系统的成本比新的OEM版本还低时再考虑。
那么Vista实际的开发进展如何呢?人们广泛的认为Vista比XP要多出一千万条编码。 一个评论员说大概有2,000个Windows开发人员,因此自从XP开发以后的五年中,平均每个开发人员只写了1000行代码。
其他人则认为这个生产效率是合理的。Steve McConnell调查专家,《软件评估:黑色艺术揭秘(微软最佳实务)》一书的作者,认为随着项目规模的减小,每年编写的代码条数更是从3200下降到1600。还有人认为国际上年平均行数为6200行,但是没有说明出处。Vista的数字进一步证实了操作系统是相当复杂的。不过这是一个不充分的论据,因为说句实话,Vista中只有一小部分是操作系统。
所有这些数字又让我对另外一件事感到好奇。几十年前,当我还是一个年轻的程序员时,一般认为的速度是每天20行(经过测试并存档的语句)。如果我们假设一年有200个有效工作日,那么相当于一年能够写出4000行语句。这一数字来自第三代语言以及相当大的企业项目,远比McConnell最小的项目要大的多。
这能够帮助我们看穿计算机行业内的一些把戏。无论技术和技巧方面有多先进,无论几年前和现在编写一个软件所需要的时间是相同的。没有迹象表明任何昂贵的工具或者多新的开发方法能够对此有些微的影响。
有人可能会辩解说现在使用的开发工具有多种不同,但是实际上并没有太多变化。当从assembler语言向第三代语言转移时,无疑使生活更轻松,或者更具生产力。但是第四代语言就没能保持这种进步。他们总是过于专注于特殊问题, 不可避免的冒险在不适合的项目上进行大量投入。因此在今天,我们看到很多使用Java, C++, 不同的Basic等语言进行的开发。与70年代使用的语言相比没有很大的差别,如果我们考虑到那一阶段Smalltalk的发明,就更是如此。
另外一个有趣的问题是能够终身使用的软件现在看来已经过时。很多组成所谓的“已有”软件,并在千禧年惹了不少麻烦的代码都编写于70s和80s年代。他们的使用寿命远远超过了作者的预期,也比之前很多软件的寿命长出很多。有迹象表明,大部分现在编写的软件寿命都没有原来那些“已有”软件要短,但是没有迹象表明,现在的软件编写起来更容易或者成本更低。
现在我当然知道按行数衡量软件的开发规模大小的方法是非常拙劣的。但是它能够让我们进行简单的计算。这些计算能够让我们看穿围绕在高度复杂的活动外围的迷雾。
不过回到Vista上来看,还有一些关于Vista开发者生产效率的看法中比较能够接受的还有有些XP代码遭到了废弃,甚至某些专为Vista编写的代码因为优先权的变化而被废弃。另外还有一个重要的问题,我们很难认为数千人辛苦开发出来的Vista的确值得。如果我们不能在未来的几十年中显著的提高生产率,我们在一个操作系统上进行这么大的投入真的值得吗?
(责任编辑:张思童)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者