登陆注册
9266100000012

第12章 软件臃肿的原因

前几天方室网志写了一篇文章这越来越臃肿的软件,我看完后才懂有这么一个叫做“安迪比尔”的定律,它描述了软件商跟硬件商的关系。

定律内容简单说,就是软件与硬件是互相促进的关系。

硬件的性能越来越强,软件的胃口也越来越大。

实话说,当今智能手机的性能早已经超越了七八十年代的老电脑了,可那时候的计算机能够支撑载人登月的任务,而如今的掌机只能用来玩玩小游戏运行小软件,是什么造成了这种奇怪的局面?

不是硬件真的不强,而是软件体积的确太大,这样解释下来真的很符合人们的直觉!

我在文后评论说这“安迪比尔定律”不对,现在仔细想想其实它是说对了一半,软件的确是越来越臃肿,但相应的功能也越来越多,虽然很多功能可能用不着,但作为一个要符合七八亿人胃口的东西,到如今水平也的确不易,但这功能什么的都是次要的,我了解到一些观点,认为背后的真相应该是:当今很多软件充满了垃圾的代码,这并非有意为之,只是一种无奈的现象。

首先,大家猜猜一个完整独立的博客程序代码可以做多么小?wordpress3.8版本解压后占用空间是17.2M。

而我了解到的王志勇的博客采用的是他自己开发的,以精简高效为主要目标的Arsue Blog,主程序在20K以内,核心程序在5K以内,Blog首页的主程序在1K左右。

注意,两者体积单位是不同的,一个M级,一个是K级,相差一千倍!使用Arsue Blog搭建的博客即便用的是价格低廉的虚拟主机,也能达到运行如飞一样的速度。

以下就是从果壳网上摘来的行业人士的观点

再牛逼的软件,里面也必然有新手/毕业生/实习生贡献的代码,并且是极烂,极不稳定的代码。包括你现在用的微软操作系统,苹果播放器,谷歌浏览器……有人说谷歌对于合入代码控制极为严格,没错,但是仍然有新手合入的烂代码,谷歌曾经吐槽过这样一件事:C语言的创始人曾经被谷歌招聘成为员工,但在入职三个月后仍然没有合入代码的权限,真实原因其实是因为各种流程没有走完,但被外界吐槽的是这样的牛人都不让写代码,同时谷歌还是混入了大量的低质量代码。

Java的创始人SUN公司曾经有一次组织了大量人力物力对所有Java代码使用静态工具检查并消除所有lint告警和错误,这被他们当作一件极其大的成就来宣传。

通常大公司里对于代码的态度是这样的:只要这段代码通过了所有测试并且已经入库,那么,除非有一个能说服所有人,包括项目经理,架构师,测试部,市场部等等的理由,那么就不允许再被修改。

而这个理由通常是没有的。

而且越是大公司越对这条规定执行的严格,微软的一个前高级官员曾经还特地挑出来一段烂代码自曝家丑。

另一方面,越是编程高手越喜欢蔑视编程规则,写出一些炫技的代码,这也造成了一些低质量代码混入

以前微软的源代码曾经泄漏过,里面的注释里,满满的都是程序员面对烂代码的吐槽啊。

有一段时间我还在想恐怕Linux是唯一的神话了,后来我发现在某种意义上是的,Linux会在烂代码之前注释说:这段代码很烂,不要学。

之所以Linux会容忍烂代码混入版本,是因为他们懒得写,然后一些大公司就乘虚而入了。

我知道可能很多人会觉得这没什么,可是对于一个将苹果谷歌Linux奉为心目中的圣地的程序员来说这简直就是精神支柱的幻灭啊!!!

然后,我也了解过一些老鸟对菜鸟的忠告,其中一条是

避开重写一切的诱惑

尽可能多的重用代码是最好的选择,无论代码是多么的丑陋,毕竟它已经被测试过了,也被审查过了

抛弃旧代码——尤其是存在于产品中的代码——也意味着抛弃了经年累月测试并实战过的代码,以及你还未知晓的周边代码和bug补丁。

这会浪费大量的时间、精力和多年积累下来的知识

最后我明白了为何近些年很多大公司的软件更新版本越来越快,其实都是小修小补,鲜见有什么脱胎换骨的彻底变革。

原因恐怕就如上所说,没有什么人敢动那些身经百战的老代码,即便效率它们再怎么低下,逻辑有再多的问题,只要硬件能跟上,在当今时代的高性能机子能跑得顺,那就不会有人考虑给它精简了。

同类推荐
  • 鲸鱼寄情大海

    鲸鱼寄情大海

    一条路,一段时光,会有人一起相约而行,也会有握手说再见的时候;问时光,怎么样?暖风送来低语。
  • 爱卿诗集·春来集

    爱卿诗集·春来集

    本诗集中部分诗作写作时间最近,为2015年春节前后乃至开春之后所作,故名《春来集》。不单是季节的春天到了,诗人的春天似乎也快到了,诗集中记录了诗人的《职场现形记》《神山》电影项目获批前后的心路历程,背后的资本运作十八般武艺按下不表。不过,骗子伊藤礼治和郑国华依然阴魂不散。伊藤礼治骗诗人时,诗人已经身无分文,向骗子伊藤礼治进贡的7万块钱一半是诗人透支的,一半是诗人的弟弟卖了自家的老爷车给哥哥的。郑国华骗诗人时,诗人本以为时来运转,遂厚着脸皮向远在美国颐养的老父老母开口,哪知道又遇到更恶毒的骗子。诗人的妹妹早已入籍美国,这些年来一直支持着不争气的哥哥。受姊妹之惠若此,故,诗人觉得独生子最不合情理。
  • 蓝桥畔上话红楼

    蓝桥畔上话红楼

    谨以此书与红楼爱好者共同探讨!从《红楼梦》作者的身世到书中人物的各种追寻探密。敬请不要较真,纯属个人看法和观点,并非学术研究。
  • 骨感的青春

    骨感的青春

    【两岸文学PK大赛】作品“我希望是现在遇到你,现在的我懂得了如何去爱,时间教会了我很多东西,我祈求上天能再给我们一次机会。。。”吴跃(男主角)在经历迷失以后对自己的真爱赵雪(女主角)深情的说。可是,现实是没有任何一个如果的存在,现实是:她,大学刚刚毕业,自己奋斗,只因她有理想,家境富裕却无人知晓,当丰满的理想遭遇骨感的现实,她该如何抉择。她的感情一波三折,6年的恋人和守护天使,却都让自己无法面对。。。。。。
  • 世事

    世事

    苏教授、戴芬、小刁,苏教授与戴芬是老夫老妻,他们是这个家庭的主角,小刁以保姆的身份也居于这个家庭之中。三个人相聚于一个家庭之中,苏教授心猿意马,戴芬与小刁有竞争,好戏于是开始……
热门推荐
  • 明伦汇编家范典卷家范总部

    明伦汇编家范典卷家范总部

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 网游之狂兽逆天

    网游之狂兽逆天

    小网管谭楚,带着在网游中磨练了数年的神级操作技术,进入到【神界】这款全新的虚拟世界游戏中。剥夺种族选择权?无所谓,兽族我也能逆天!超乎常人的游戏理解能力,精湛的操作技术,机灵的大脑……一只凶猛的狂兽诞生!战神残像、百变兽魂珠……随着游戏的进行,谭楚将一件件至宝收进囊中。神马职业竞技高手,都是哥的一盘菜!神马外国公会,哥要让世界臣服!
  • 李尔王

    李尔王

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 诡吻阴缘

    诡吻阴缘

    给一个车祸的美女做了人工呼吸,但她还是没有抢救过来,半夜十二点的时候,我收到了她发给我的信息··········吻禁术出世,一个始鬼带我走进了一个阴阳圈子。三生三世,阴缘不断囚天禁庙,铜棺葬天,阴阳劫难,阴阳何存这一切都是如何发生在黑暗中的···
  • 名人传(语文新课标课外必读第十二辑)

    名人传(语文新课标课外必读第十二辑)

    国家教育部颁布了最新《语文课程标准》,统称新课标,对中、小学语文教学指定了阅读书目,对阅读的数量、内容、质量以及速度都提出了明确的要求,这对于提高学生的阅读能力,培养语文素养,陶冶情操,促进学生终身学习和终身可持续发展,对于提高广大人民的文学素养具有极大的意义。
  • 羽尽长日

    羽尽长日

    ”从此不会有魔族魔殇,只有冷西风。“魔族公爵府少爷改头换面,成为一届凡人冷西风,携手神秘被封印老者,立于不败之巅。
  • 外交:世代友好邦交

    外交:世代友好邦交

    中华文化也叫华夏文化、华夏文明,是中国各民族文化的总称,是中华文明在发展过程中汇集而成的一种反映民族特质和风貌的民族文化,是中华民族历史上各种物态文化、精神文化、行为文化等方面的总体表现。
  • 制霸江湖之楼外楼

    制霸江湖之楼外楼

    江湖扛把子楼外楼出了无数武圣武尊,破虚成空的大金腿更是不少,这一代却偏偏出了个异类。武道绝世废材,亦是阵法大触。大触,你缺腿部挂件吗?
  • 制度改变中国:制度变革与社会转型

    制度改变中国:制度变革与社会转型

    《制度改变中国》是著名经济学家樊纲结合自身经历和学术生涯,从制度经济学视角全面解读改革开放以来中国经济社会大转型的力作。《制度改变中国》从经济社会中常见的现象和事件入手,深入探讨了市场经济制度变革、国家职能转型、现代企业制度形成、文化意识改变等中国社会和经济转型过程中面临的重要问题。樊纲认为,改革开放带来的,不仅是制度的变革,更是观念文化和思维方式的转型。在中国经济社会大转型的过程中,经济学家以及经济学的思维方式扮演着不可或缺的角色。《制度改变中国》对改革开放以来中国经济社会大转型的解读,为改革2.0时代的新一轮制度变革和社会变迁提供了别样的视角。
  • 世界最具品味性的小品随笔(4)

    世界最具品味性的小品随笔(4)

    我的课外第一本书——震撼心灵阅读之旅经典文库,《阅读文库》编委会编。通过各种形式的故事和语言,讲述我们在成长中需要的知识。