硬件越来越快,软件越来越慢?

2020-08-14 23:41:04 +08:00
 mapoor

摩尔定律:硬件性能每 18 个月性能提高一倍。 安迪比尔定理:硬件提升多少,软件就降低多少。

经过这么多年

软件的生命周期相对硬件来说是在太短暂了。 一台硬件服务器可以 5 年 10 年不升级。很少有软件这么久不升级的(操作系统升级,应用升级,安全补丁升级)。 硬件淘汰掉可以回收。很少有软件回收的。

软件的成本很高,看看谷歌,苹果,Facebook 的市值,再对比看下 Intel IBM DELL 的市值。 投入如此之高的行业,开发出来的软件产品,除了越来越复杂之外,还有什么价值。

作为软件从业人员,难道不值得反思一下吗?

12451 次点击
所在节点    程序员
98 条回复
FireFoxAhri
2020-08-14 23:52:11 +08:00
谁说没变快的…
lv2016
2020-08-14 23:53:08 +08:00
20 年前的游戏还是像素风,现在的游戏逼真多了。人们的需求也在进步
lithiumii
2020-08-14 23:56:17 +08:00
不知道什么是软件回收,不过浏览器、操作系统之类的大项目里面陈年代码不是很常见吗
Osk
2020-08-14 23:57:01 +08:00
我怀疑你在黑 electron/CEF,但我没有证据.jpg
coderdusk
2020-08-14 23:57:30 +08:00
用硬件性能换开发便利呗,我感觉就像社会福利一样,社会发展到一定程度才会重视平权、小众人群的尊严等,生产力落后就弱肉强食,如果现在某个应用真的需要在有限的硬件条件下要更多性能,那么他们自然就会优化程序的。

换句话说,如果不是硬件发展的福利和无数开源项目,以我这样的智力水平是根本写不了程序的。也正是因为这些福利,软件行业才能容纳这么多从业者、软件项目可以更快上线。

我觉得用硬件性能换开发便利不是太大的问题,更大的问题是巨型公司的臃肿应用,一个应用内什么都想做。
xiangyuecn
2020-08-15 00:09:20 +08:00
@lv2016 20 年前普遍按 KB 来算,现在普遍按 GB 来算😂
musi
2020-08-15 00:14:17 +08:00
@coderdusk 同意,比如饿了么,打着不仅仅送餐的旗号来做短视频
jlt
2020-08-15 00:25:42 +08:00
操作系统依然没有变快多少。-------- win10 起码开机比 xp 快多了
May725
2020-08-15 00:40:54 +08:00
软件做的事情越来越多了呀,有大内存就用起来,频率高就实现更多的功能。
reus
2020-08-15 00:45:13 +08:00
@jlt xp 如果能用 ssd,一样很快
IGJacklove
2020-08-15 01:11:08 +08:00
你确定手机没快多少?怕不是零零后吧,像我这种参加用按键手机在 qq 空间网页玩游戏的印象还是很深刻的。我记得当时流量还能几 mb 的买。。。
mapoor
2020-08-15 01:11:45 +08:00
@coderdusk 更快的硬件更丰富的开源项目都是在促进新的软件开发,可新开发出来的软件吞掉了很多前者提供的福利。就好比是一块巨大的海绵,再快的 CPU 再大的内存丢进去,它看起来还是和原来的海绵差不多。
mapoor
2020-08-15 01:27:17 +08:00
@IGJacklove 当年打开 QQ 和现在打开 QQ 速度上差不多。智能手机刚普及的时候打开 Sina 网页 和现在打开 Sina 几乎也没区别。但是手机硬件提升却有几个量级了。
misaka19000
2020-08-15 01:41:46 +08:00
每次看到这种所谓的性能之谈都觉得幼稚,楼主你可以用汇编去写代码啊,没人拦着你

或者你也可以努力挣钱收购 QQ 项目组之后要求项目组用汇编来开发程序,这样 QQ 的交互速度肯定能快一截😊
zxcvsh
2020-08-15 02:11:27 +08:00
软件淘汰硬件,表象一直是这样
em70
2020-08-15 02:17:06 +08:00
软件体验没有明显变快,但是开发成本大幅下降了,市场可选择服务更多.
mapoor
2020-08-15 02:18:58 +08:00
贴几个相关的帖子:
1. [In spite of an increase in Internet speed, webpage speeds have not improved]( https://news.ycombinator.com/item?id=24050980)

2. [Clocking a 6502 simulator to 15GHz]( https://news.ycombinator.com/item?id=22859706)

3. [Andy and Bill's law]( https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law)

4. [Wirth's law]( https://en.wikipedia.org/wiki/Wirth%27s_law)
felixcode
2020-08-15 02:29:12 +08:00
照你说法,当年红白机可是秒级加载,几十年后游戏加载却得几十秒,还变慢了
coderdusk
2020-08-15 02:31:58 +08:00
@mapoor
硬件提升带来的性能提升当然是要用掉啊,区别就是使用效率高低。

我觉得任何时代的任何行业都有精英和普通从业者,精英对自己和产品要求严格,更多的的普通从业者就是用工具吃饭,工具发展到什么水平他们就能做出什么水平的东西。

就像游戏开发,现在一张超级马里奥 1 的游戏截图少说也有 100 多 K 了,比游戏本身容量都大,关于那个时代的游戏开发现在有很多回顾的视频、文章,由于性能、容量的限制,开发者必须想各种办法表达他们构想的世界,比如超级马里奥 1 里,地上的草和天上的云其实是同一个图形,只是改了位置和颜色。
任天堂无疑是顶级游戏开发商,本世代的 NS 性能也不算强,任天堂第一方的游戏容量相比业界平均大小也很少,但是他们就是能用有限的硬件资源做出好玩的游戏,甚至让人惊叹怎么在如此小的容量放下如此多的内容,甚至像马里奥奥德赛,你想用一个奇怪的方式到达一个不寻常的地方,才发现任天堂在这里也给你留了菜单,感觉整个游戏就是被精心设计的箱庭。我觉得任天堂就是这样对自己要求严格的经营。
而像 Unreal 这样的游戏引擎就是行业的基础建设,他们提供了丰富的功能简化了开发过程。一个不会程序开发的人,也能利用 RPG MAKER 制作相对简单的游戏,几个人的小团队可以开发独立游戏,相对大的团队也能用游戏引擎简化工作。

就好比你觉得现在网上垃圾文章很多,感慨以前人写的文章都那么厉害,但我觉得能留存到现在的文章本身就是经过检验的,况且接受教育也是需要成本的,我这种阶级的在古代肯定就是文盲了,换句话说像我这人是没有写文章的资格的。所以不必抱怨那些写的差的,去看那些大师的作品就行了。

而且你说消耗了更多的资源做出的软件都一样,下面举的例子是 QQ 和网页。我不知道你说的一样是对比什么时候的版本,但是对于我来说现在的软件和十年前的已经是天差地别了,那时候我用的 QQ 还要靠方向键选择功能,只能回复文字和有限的官方表情,那时候手机网页还叫 WAP 版,手机上如果想用电脑版那么丰富的功能只能打开电脑版的页面然后双指缩放来点击。对于我来说这十年软件行业整体的界面设计、动画效果和功能简直是翻天覆地。
jones2000
2020-08-15 02:39:55 +08:00
软件快不快取决于用到的开源的插件快不快。
现在已经很少有人从头开始写了,都是搂几个开源的插件搭个产品出来。
开源插件性能的提升才能让软件速度提升。

开源的都不怎么能盈利的,所以插件升级动力就不大。
最重要的是,开源插件为了适应更多的应用场景,代码量和判断逻辑就会多,但是对于你的应用场景很多代码和逻辑判断是不需要的是冗余的,但你用了这个插件就只能都打包进来。比如这个插件有 10 个功能,你只用它 1 个功能, 但你打包的时候是整个插件都打包进去。这样体积和冗余的代码就多了 2-3 倍吧。正确的应该是只扣这个插件的这 1 个功能的代码,并剔除不适合自己的应用场景的代码。但这样做跟自己重新写插件差不多,谁回去做呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/698373

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX