为什么早期的程序可以在非常有限的资源上运行,现在的软却需要大量的资源?

2019-11-08 14:39:39 +08:00
 cloudfstrife

看了一下阿波罗的 AGC,主频只有 2MHz,2K 的 RAM,36K 的 ROM。

那个时代的程序,可以在有限的资源上运行的非常良好,现代的计算机程序,虽然在功能上比过去的程序丰富了很多,但是运行资源上动辄上百 M 上 G。除了功能需要增加了运行所需资源,软件质量是否因为时代的变更,也下降很大呢?

7564 次点击
所在节点    程序员
77 条回复
cloudfstrife
2019-11-08 18:15:51 +08:00
@hoyixi 现在貌似确实是这样,以前是想办法优化程序,现在都是花钱升级硬件
guanhui07
2019-11-08 19:06:11 +08:00
依赖少 精简
imn1
2019-11-08 20:00:48 +08:00
早期程序不需要常驻后台
也没有打开静默打开摄像头和麦克风,现在静默开启静默关闭,不打搅用户多贴心啊
噢,还有热更新补丁,永远保最持安装
slanternsw
2019-11-08 20:15:23 +08:00
“你的时间非常值钱”
janus77
2019-11-08 20:17:24 +08:00
因为早期慢啊
空间换时间
smdbh
2019-11-08 20:54:52 +08:00
高级语言的功劳
koalli
2019-11-08 21:04:12 +08:00
我觉得是因为内存 cpu 这些越来越便宜了,所以使用的时候就不再那么抠了...
murmur
2019-11-08 21:09:39 +08:00
@vipcc 几百个 g 的内存一次 gc 或者出了内存泄露排查起来就是灾难,何况这种东西家用级产品用不到,都是大型的仿真建模,别人对内存更会精打细算,以前第一批内存不要钱的时候,实验室跑电磁学仿真买了 1t 内存的服务器,程序一启动 190g 内存就没了,这要是参数设大点直接炸了
coloz
2019-11-08 21:17:14 +08:00
现在也可以啊,单片机编程一直存在
fox0001
2019-11-08 21:18:50 +08:00
记得 Android 刚出,那时叫 Market 的应用市场上,绝大部分应用都是 KB 级别,也包括大多数游戏。现在找到少于 1M 的应用,都觉得神奇……
gggxxxx
2019-11-08 21:28:36 +08:00
其实就是现代软件复杂度比远古软件大的多。
现代软件开发简单,因为有很多现成的库可以直接使用。自己写的代码少,但是不代表程序运行的代码简单和少。
从另一个角度来说,你现在写的软件占用资源少,说明功能不行.....不信你们去看看你们常用的工作软件,哪个不是吃资源大户?
sc3263
2019-11-08 21:35:21 +08:00
还有一种情况,开发者根据当前主流的配置进行更有针对的优化,而这个优化往往会占用更多看得到的资源。假如有 100M 的数据需要经常查询。在大家都只有几十 M 内存的时候,只能把数据放磁盘上,内存里放索引和缓存。但在大家内存都上 G 的时候,就会考虑把数据全部放内存里。
xeaglex
2019-11-08 22:05:36 +08:00
现在的软件,你把所素材文件,包括图片,视频,音频等都抛开。真正的可执行二进制部分也不多
opengps
2019-11-08 22:22:38 +08:00
以前学软件得十几几十年,现在学软件开发可以 n 天
default7
2019-11-08 22:28:57 +08:00
三个字:惯的呗。
default7
2019-11-08 22:29:23 +08:00
难怪我的手机 64G 已经完全不够用了,因为那些应用,动不动就 200M 500M 一个
nicevar
2019-11-08 22:35:27 +08:00
一方面是现在的设备性更好,4k 屏都满大街了,就算往屏幕上贴张图,内存也翻了几十倍,加上现在程序功能强大,视觉效果特好,比较占用资源也是合理的。
另一方面现在的软件更为庞大,追求开发效率,采用 gc 类语言,牺牲点性能也不算什么,再就是现在的程序员门槛低,很多对内存管理没有什么概念的,特别是偏上层应用的,就不说前端做个页面能把 chrome 卡死,安卓市场里面的应用内存泄漏严重的满天飞,各种安卓的开源库包括 google 官方的内存泄漏都是家常便饭,不卡是没有道理的。
inntechy
2019-11-08 22:50:03 +08:00
安迪比尔定律
wleexi
2019-11-08 22:58:48 +08:00
GUI 占了很多空间
greatdancing
2019-11-08 23:05:00 +08:00
写阿波罗那玩意估计要软硬件都精通
这水平要求有点高啊

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

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

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

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

© 2021 V2EX