登陆注册
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补丁。

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

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

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

同类推荐
  • 萤火虫传说

    萤火虫传说

    女主人公安霜年幼时认识了比自己大五岁的男孩子韩非,几次的相遇,几次的分离,使二人产生异样情愫,安霜十一岁那年,原本以为的后会有期却变成了后会无期……如果能再次相遇,我一定会第一眼认出你。
  • 甜若笙箫夜

    甜若笙箫夜

    [这儿柒云歌,第一次写小说,请多多指教]
  • 品茶拒绝表面功夫

    品茶拒绝表面功夫

    品茶,其实更是一种生活艺术!中国几千年的茶文化可以说是博大精深,从《神农本草经》中记载了茶的起源,到如今,茶已经遍及全世界,成为了风靡世界的饮品之一,甚至还形成了不同风情的茶文化。让我们我们从茶的起源,著名的十大名茶,沏茶,品茶,各国特色饮法,各式茶具等方面让大家品茶拒绝表面功夫……
  • 流浪写手

    流浪写手

    人生起伏,我不求闻达。舞动我的青春,写下关于我的诗篇,悲伤也好,快乐也罢,鼓励自己,鼓励周围的朋友们,鼓励大家,我只想说一句:“我们的人生,在我们的手中。” 未来如何,不重要。重要的是,我们正在走向未来的路上。
  • 许卿繁花落尽时

    许卿繁花落尽时

    前世今生,跨越千年;许卿繁花落尽时!一场看似三个人的爱情,却如同命运的一个玩笑,戏弄的让人不知所措……许尽时、洛卿、洛繁华,他们的情感,究竟何去何从?(ps:本文男主穿越。)
热门推荐
  • 吊李群玉

    吊李群玉

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 报告BOSS,我是您夫人

    报告BOSS,我是您夫人

    君朝颜一生中最幸运的,就是认识宴时锦,最不幸的,亦是。重生归来她已不再是那个名震一方的君朝颜,而是一个平凡中透着不凡的女生——顾时乐,不过,她依旧还是君朝颜。她再次回归,风华尽现,可老天似乎总和她开玩笑,她与她一次次的擦肩而过。可注定的缘分是挡也挡不住的。君朝颜:“上一世,我伤你;这一世,我宠你;上一世,我厌你;这一世,我爱你!”宴时锦拥她入怀,在她耳边呢喃:“好,换我追随你…”
  • 中观学概论

    中观学概论

    《唯识学概论》内容简介:《中观学概论》和《唯识学概论》两书的作者弘学居士,本名李英武,重庆南岸人氏。外祖母、母亲都是虔诚的佛教徒。弘学是我汉藏教理院同班同学正果法师的忠实弟子。1993年他写了《佛学概论》,我专门为他写了序,并希望他能“写出中、高两级佛学院校学生阅读的佛学书籍,并作为各级佛学院校的教材或参考资料”。
  • 危机就是商机

    危机就是商机

    本书为本书为你揭秘面对危机时风云人物的逆势吸金之道。资本大亨和行业领头人们在危机中与风险博弈,发掘隐藏的商机,并用多年积累的商业制胜经验,积极迎接挑战,或保全或增加自己的财富储备。在他们的财富之路上,那一串串穿越风起云涌危机而留下的足迹显得弥足珍贵,为更多人如何在危机中发现商机留下了值得借鉴的宝贵经验。你揭秘面对危机时风云人物的逆势吸金之道。资本大亨和行业领头人们在危机中与风险博弈,发掘隐藏的商机,并用多年积累的商业制胜经验,积极迎接挑战,或保全或增加自己的财富储备。在他们的财富之路上,那一串串穿越风起云涌危机而留下的足迹显得弥足珍贵,为更多人如何在危机中发现商机留下了值得借鉴的宝贵经验。
  • 一本书读完人类音乐的历史

    一本书读完人类音乐的历史

    如果你想要一本书看完人类音乐的历史,崔佳编著的《一本书读完人类音乐的历史》是你最好的选择,本书几乎囊括了人类音乐范畴内的几乎全部的历史。如果你想学习音乐思维,陶冶情操,增长见闻,本书更是你的不二选择,音乐家的轶闻、名曲诞生的过程、各流派音乐的兴衰史,本书都有详细的讲解。
  • 快穿系统之主神

    快穿系统之主神

    明施是个小尼姑,某一天上山采药,栽在了一只小妖的手中,死了!灵魂被一只自称系统的小团子勾走了,从此以后开启无敌女主模式,走上人生巅峰,迎娶高富帅……并……没有!实际上,为了活过来,明施不得不在各个世界穿梭收集愿力!被母亲鸠占鹊巢的苦逼女儿?悲催的重生女?末世之后的基地首领?……看过她(他?)们苦逼的一生,明施觉得自己责任重大! PS:敲重点——本书有男女CP,1V1,男女双洁,甜宠不虐,但本文主线并不以男女CP为主!!!
  • 我是一个小兽人

    我是一个小兽人

    小小黑客,莫名的来到了魔兽世界,凭借着一身的黑客本领,在魔兽的世界中纵横无敌。
  • 读者报·岁月(0223)

    读者报·岁月(0223)

    城市记忆;档案解密;国家历史;军旅时光;年代;奇谈;人世百态;人物轶事;社会万象;新知奥秘;知青频道。
  • 法律高手(现代生活实用丛书)

    法律高手(现代生活实用丛书)

    随着社会综合素质的提高,法律这个非常严肃的词语渐渐被所有人所重视。在一个法制社会中我们应该运用法律来保障我们合法权益不受到伤害。如果不了解法律,在我们合法权益受到侵害时还全然不知,在遇到有争议的事情中不知所措,那我们真是有点悲哀。法制社会是运用法律来调整整个社会的发展,用法律来保护我们的合法权益。了解了法律,我们就可以理直气壮、挺起腰板,因为法律会为我们主持公道。
  • 往生界

    往生界

    六道往生世界以苍天道为首,地狱道主杀伐,妖孽道多孽障,鬼魔道魔族纵横,圣灵道天材地宝显化生灵,又有凡人道广袤无垠,通往各道。凡人生而孱弱,却悟性超凡,不乏天资卓越之辈,更有得天独厚者,历经磨难,得道果,渡仙劫,扶摇而上,执掌苍天。道无情而人有情,仙劫易渡而情劫难过。凡人回首岁月中,几番风雨几番情,我若得道掌苍天,天道无情我有情。枯灯独酌悲清风,笙歌日暮白发生,入骨相思入骨情,浮生一剑送往生。