技术开发 频道

“臃肿软件”终结 编程黄金时代归来

  【IT168专稿】“你们大多数人不是程序员(programmer),而只是代码编写者(coder)。”

  说这句话的人名叫Hugh,他是一个IBM商务人员。简练的语言、闪亮的双排扣西装和他的名字是现在我对他的所有记忆。当时我还是一个新人,大约在IBM工作了2个月左右,我认为该公司具有优异计算实力。在一堂PL/1培训课中,老板决定让公司销售团队中的一名优秀人员来为我们上课,以使培训更贴近“现实”。我认为Hugh讲的很好。

  他手持一张我认为是冰柜的图片问到,“这是什么?”房间中的所有人都目无表情。我们以前都没有见过AS/400。不过,这个难以言状的大块头在未来10年中承担了重任。有一点他非常热衷于提醒我们,那就是:

  “计算机拥有如此多内存,你可以做任何你想做的事情,技巧已经不再有意义。”


图 IBM AS/400系列计算机

  在那个时代,人们认为10M内存已经够用,但他的观点是正确的。在我之前的一代人可能是最后一批持以下观点的人:在应用程序开发中,内存管理与算法同样重要。使用一个整型字段来存放布尔值不仅仅是懒惰的问题;它可能最终破坏你的堆栈。保持代码紧凑且简洁是自豪之源,也是程序必须遵守的原则。它还确保了可执行程序体积保持小巧。

  但是15年过去后,我们看到Hugh的观点已经变得十分荒谬。我所指的是臃肿软件(bloatware)。这种软件基本上有两个主要功能:非常占空间,且用户实际用到的功能仅占其全部功能的二分之一。在其崩溃和不响应之前,典型终端用户仍会接受它。代码中用户不需要的部分越多,就意味着可能存在漏洞的范围越广,也就意味着更多问题,对所有编程者来说,这是一件让人头疼的事情。

  有时候臃肿性被强加于我们身上:iTunes附加资源占用硬盘空间达80MB,但是除非你甘愿使用破解版iPhone,不借助于iTunes你就无法正常使用你的设备。不请自来的臃肿更新年复一年的增长,打着“必要软件升级”的幌子来让计算机越来越慢。

  软件精英Peter van den Linden曾说过,唯一因互联网致富的是硬盘制造商。他的话一针见血。随着内存和硬盘容量增加,担心内存和磁盘空间不够,逐渐变得越来越老套和杞人忧天:严密和简洁变得不再具有吸引力,而且随着应用程序开发商试图利用快速发展的硬件所带来的空间,系统编程者也逐渐开始堕落。整个世界也开始随之变化。回想起多年以前Novell销售的一个不错的服务器冗余应用软件,仅一张软盘就可以存储下,而且其中还包含说明文档。一名不满的客户表示,只需一个3.5英寸的软盘就能存下这个软件,它是否物有所值?

  该问题的部分原因是编程技术。20年前,编程非常接近硬件。多数情况下,C程序员能够非常熟练的控制数据,而且对于那些真正复杂的部分,你总可以将其交给汇编语言,直接控制硬件。而今天人们编写的Web应用和花哨的程序库,与硬件相去甚远,即使你想开发严密的代码,也很难做到。软件公司的那些精英们或许闭着眼也能展现一个3-D Flash图片,但却可能不知道什么是JNE指令。

  我不是一个反对发展的人。Windows 7不可能与Windows 3.11那样简洁,却依然能够充分利用过去10年中硬件的发展。但是如果你告诉我一个MP3播放器需要占用 80MB空间,我对此无法接受。

0
相关文章