软件臃肿背后的真相

前几天方室网志写了一篇文章《这越来越臃肿的QQ!》,我看完后才懂有这么一个叫做“安迪比尔”的定律,它描述了软件商跟硬件商的关系。定律内容简单说,就是软件与硬件是互相促进的关系。硬件的性能越来越强,软件的胃口也越来越大。实话说,当今智能手机的性能早已经超越了七八十年代的老电脑了,可那时候的计算机能够支撑载人登月的任务,而如今的掌机只能用来玩玩小游戏运行小软件,是什么造成了这种奇怪的局面?不是硬件真的不强,而是软件体积的确太大,这样解释下来真的很符合人们的直觉!

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

首先,大家猜猜一个完整独立的博客程序代码可以做多么小?wordpress3.8版本解压后占用空间是17.2M。而我了解到的王志勇的博客采用的是他自己开发的,以精简高效为主要目标的Arsue Blog,主程序在20K以内,核心程序在5K以内,Blog首页的主程序在1K左右。注意,两者体积单位是不同的,一个M级,一个是K级,相差一千倍!使用Arsue Blog搭建的博客即便用的是价格低廉的虚拟主机,也能达到运行如飞一样的速度。

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

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

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

通常大公司里对于代码的态度是这样的:只要这段代码通过了所有测试并且已经入库,那么,除非有一个能说服所有人,包括项目经理,架构师,测试部,市场部等等的理由,那么就不允许再被修改。而这个理由通常是没有的。而且越是大公司越对这条规定执行的严格,微软的一个前高级官员曾经还特地挑出来一段烂代码自曝家丑。另一方面,越是编程高手越喜欢蔑视编程规则,写出一些炫技的代码,这也造成了一些低质量代码混入

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

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

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

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

 

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

避开重写一切的诱惑

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

抛弃旧代码——尤其是存在于产品中的代码——也意味着抛弃了经年累月测试并实战过的代码,以及你还未知晓的周边代码和bug补丁。这会浪费大量的时间、精力和多年积累下来的知识

 

最后我明白了为何近些年很多大公司的软件更新版本越来越快,其实都是小修小补,鲜见有什么脱胎换骨的彻底变革。原因恐怕就如上所说,没有什么人敢动那些身经百战的老代码,即便效率它们再怎么低下,逻辑有再多的问题,只要硬件能跟上,在当今时代的高性能机子能跑得顺,那就不会有人考虑给它精简了。

觉得好可以点个赞!
(暂无人赞)
Loading...

论比特币价值困局

学的《资本运营理论与实务》虽然只是编的教材,想自己既然是考了试,好歹也总结点什么,才不算是白学这门课吧。写这样的一个论题,因牵扯的东西太多,而自己又学的不精,只能勉强算作国内二三流院校学生的毕业论文概要罢了。这里边有几个概念是不相等,但我又经常拿它们比较,因而算缺陷,欢迎各位指点迷津。

时间价值

什么是货币时间价值,假如年利率是5%,今年的100元到明年就会变成105元。常说的折现是指它的逆运算,货币的数量随着时间流逝而递增,里边体现的就是货币的时间价值。货币时间价值是很微妙的东西,书上说它的来源比较深奥,大体上就是对于机会成本补偿以及人类喜欢享受当前心理的补偿。即我将100元借给你,我就不能将钱投资到别处获取收益,也不能立即用来消费产生快乐,因此一年过后,除了还付本金,还要补偿利息。这不是说利息的来源,而是说一种客观存在的现象。假如不投资,钱放死了,货币时间价值就无法体现,不幸碰上通胀的话,死钱放着还会越来越少。

利息的本质

不是每个人都懂投资,所以现代金融制度下有市场平均利率作为补偿。所以存钱在银行都是有利息的。虽然常识都认为存款利息来源于银行放贷收回的利息,但我认为所有的投资最终赚的都还是广大劳动人民的钱,而钱不会从天上掉下来,之所以钱越周转越多,归根结底还是中央银行放的钱越来越多。利息率背后反映的其实是实体经济体的增长率(书上说利息率大小在社会平均利润率与零之间)。如果货币数量固定不变,经济增长下,货币价值仍会增加。只是这种增加不是体现在面额上,而是体现为物价下跌,即同样100元能买到更多的东西。而利率决定者——中央银行,它首要职责就是维持币值稳定。最终它会发行更多货币抵消这种通缩效应以达到稳定币值的目的,公平的做法是让参与投资的钱得到相应的回报,这也是利息给予的根据。

比特币的时间价值

说了这么多,该轮到比特币登场了,比特币有时间价值吗?理论上只要有借贷,就有利息。市场公允的利率产生后,货币时间价值就自然产生了。死存的比特币会产生利息吗?不会,因为中央银行无法印刷比特币,不能给你发利息。那比特币的时间价值怎么体现?自然得是参与投资获取回报才行了。需要注意,比特币总量是锁死的,经济增长下,它的增量速度反而越来越少,每个比特币的价值都将越来越大,所以比特币的时间价值将主要体现在通缩效应上,就说它即使存着不动,也会越来越珍贵。但通缩也是不利于经济发展,除非购买必需品,这越存越珍贵的钱会使人们都不乐意消费与投资,经济就无从发展。

比特币另一个价值

直到现在,我也没想出让比特币绕走出“通货紧缩”这个死结的办法,而我最近又注意到一个说法,说比特币的价值是体现在降低交易成本上,因为它的交易去中心化,可以零成本。比起现实生活中通过金融机构操作产生的那些名目繁多的手续费,使用比特币交易就有着超然的优势。

为啥要银行

国外商家热衷于使用比特币,因交易费也是成本,能降一点是一点。但那些费用真能绕开吗?我所想到的就赋税是肯定绕不开的,因为官方不会允许企业如此大规模的避税。另外一个就是交易平台的问题,虽然比特币号称去中心化,不需平台交易,这类似于一手交钱一手交货。可在网络上跟陌生人交易时,我们仍希望有中间人能提供担保,在未收到货的情况下,对方也肯定得不到钱。当担保需要付费的时候,这手续费似乎又变得理所当然了。

现实中企业之所以要通过银行交易,是因为银行承担了风险控制者的角色,企业的信用与资金流动包括投资项目等银行一目了然。虽然我们都羡慕金融机构的利润丰厚,但若能理解银行作为风险评估、管控的角色,它赚那么多钱,是因为它担了那么多责任,一切似乎又合理化了。至于那些什么换卡年费,开户手续费、小额账户管理费之类,统统都是蝇头小利,要免掉也不是不可能。但说到资金占用费、资金筹集费这大头,以及涉及到企业客户的费用,想免掉那只能是做梦,除非你觉得银行这样的金融机构是多余的,将来一定要淘汰。

银行会被淘汰吗?

可以,等哪天企业不需要借钱后,就是共产主义实现的那一天吧。我所知道就是诺贝尔经济学奖里边有个理论是关于企业价值最大化,就是所有资金应全部来源于借贷。这空手套白狼是有点极端,但至少解释了企业要降低成本就必须要借钱,也只有负债的企业才能享受财务杠杆的收益放大(包括风险放大),有借贷就必然有风险管理机构,银行的角色就是这个。想要淘汰银行,日子还远着呢。

绕不开的银行及交易成本

如果官方真赋予银行操作比特币的权利,并规定企业所有比特币的资金必须通过银行过账,否则风险自担,同时也为了核税方便,用积累资金往来帐建立信用记录。企业为了合法合规以及遵照游戏规则,都会照着做,因此现实中鲜见企业拿现金交易。大宗交易双方也通过银行操作。万一有争议打官司什么的,法院也能冻结账户保护资金。同样道理,也只有比特币在受监管银行下,法院才能操作冻结比特币。这一切都是为了规范、风险可控、操作透明,比特币银行继续做银行该做的事,自然而然那些手续费什么的,最终还是绕不开的。

比特币融资悖论

比特币的银行会给存款发比特币的利息吗?我想不会的,为什么呢?看前文就知道了,那散户为什么要将比特币存在银行那?如果没有比特币存款积累,企业的比特币贷款又如何得来?企业似乎只能发比特币结算的债券才能融资了。可新的问题在于,并不是所有人都了解需融资的企业,敢买它的债券。企业最后还是得求着银行或则担保公司进行认证评估,而且比特币债券的回报,必须高于比特币在时间下自然价值增长率,而我个人认为者根本就是个悖论。

我前面说过,一定量比特币随时间价值递增率等于社会经济增长率。如在这种情况下还敢用比特币借贷,那个企业的利润率势必要高于社会平均利润率,当原来越多人参与竞争后,利润率会被平均,最终将回归社会的经济增长率水平。而一般认为,利息率大小要在社会平均利润率与零之间,借贷才有可能发生。而比特币它本身的时间价值就等同于社会平均利润率了。这使得借贷成本将变得极为昂贵,最终使比特币的借贷不可持续。

总结

我从时间价值以及降低交易成本两点,分析得出的结论是比特币无法参与现代金融体系,这新生事物确实会跟现有体系格格不入,并不意外。但这不能说成它具有革命潜力,除非它能革除现有货币、金融体系缺陷,拥有当前货币不具备的优点。可惜借贷是企业刚需,不能拿来借贷的货币也不能叫做货币了。至于降低交易成本这点,政府若真将它纳入管理体系,那交易成本必然也会有。所以比特币不会比当前货币好到哪里去。至于所谓的匿名性、交易不可逆性,只是把双刃剑,看人具体怎么用了!

觉得好可以点个赞!
(暂无人赞)
Loading...