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

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

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

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

7544 次点击
所在节点    程序员
77 条回复
linvaux
2019-11-08 14:46:33 +08:00
抛开需求谈这个没意义
garyzhuang
2019-11-08 14:48:59 +08:00
我觉得很多原因吧,只说现在,现在程序的本身就占很多资源,比如图片等等资源体量越来越大,另外一方面现在码农质量以及代码质量,冗余代码,以及日渐庞大需求,所以体量越来越大吧,只是瞎逼扯,来水一下
creamiced
2019-11-08 14:51:43 +08:00
换一个角度看:资源受限,就不得不考虑各种优化,才能运行程序。更别说各种奇淫技巧可能导致的问题。所以软件质量是否下降不论,我觉得开发效率有很大提升。
crella
2019-11-08 14:54:40 +08:00
业务?广告?捐赠?打工?
lzyliangzheyu
2019-11-08 14:55:44 +08:00
直接用汇编干寄存器的,效率能不高吗。。。。
kangzai50136
2019-11-08 14:56:29 +08:00
用性能去换取开发效率
FallenTy
2019-11-08 14:57:21 +08:00
语言变了,需求也变了
Raymon111111
2019-11-08 15:00:43 +08:00
你可以搜 安迪比尔定理

大意是所有新出的硬件性能都会被软件所用完
lzyliangzheyu
2019-11-08 15:05:09 +08:00
@Raymon111111 另一种意义上的 从简入奢易,由奢入俭难 23333333
BingoXuan
2019-11-08 15:05:21 +08:00
@garyzhuang
不是,当时应该所有功能都是用汇编硬编码进去的实现的,而且只有最简单的功能。以当时的标准来看,tcp 是实现不了,udp 勉强可以实现。但 ip 头要固定写死,udp 头的部分信息也要写死。数据长度也要有限定。发送数据直接从不同寄存器按顺序取数据加个 checksum 完事了。哪里像现在那样 udp 还要考虑流量控制,丢包重发,增加冗余以确保丢失一定数据包依旧能保证数据完整。
murmur
2019-11-08 15:06:40 +08:00
排除游戏之外,都是 electron 惹的祸,你看 n*pad++的主程序加插件 10m 不到
反观用了 electron 的,想不破百都是奢望
lvsemi1
2019-11-08 15:07:38 +08:00
只要钱给够我也给你手写汇编精简体积
sgissb1
2019-11-08 15:08:34 +08:00
因为那时候无证程序员少,现在无证程序员泛滥。
murmur
2019-11-08 15:12:32 +08:00
还有就是内存足够大,导致没人做优化和细化了,我举个例子,这个例子可能不恰当,内容也可能有部分捏造;
本来鲁大师是一个硬件检测软件
首先被 360 收购,360 就给他加了 360 的基础库
为了赚钱,鲁大师里又加了个游戏中心
因为国内网络复杂,游戏中心需要下载,所以又加了个 360 旋风的下载组件(这里是捏造的)
因为鲁大师还有驱动管理的的功能,这部分也是单独的组件
因为 360 提供系统“清理”的功能,这部分自然也要移植来
你可能只是下个鲁大师跑分,但是你下了一个全家桶回来
luckyrayyy
2019-11-08 15:13:04 +08:00
为什么几十年前的人们能吃红薯皮、树叶子,人均居住面积几平米,还能活得很好,现在月入万元缺总抱怨活的不如狗。人的质量是否因为时代的变更,也下降很大呢?
ech0x
2019-11-08 15:14:18 +08:00
第一件事软件的功能变多了,第二现代的程序越来越不注重优化了。
kokutou
2019-11-08 15:14:25 +08:00
360 壁纸,一个壁纸软件而已,谁能想到它居然内置了鲁大师组件呢?外加一个手机游戏助手。。。
1OF7G
2019-11-08 15:16:04 +08:00
成本啊,硬件便宜而人工贵。如果都按想象中的,用汇编 或 C++开发一切,目前计算机和互联网大概还停留在 2000 年的发展水平吧。
iIli1iIliIllLiL
2019-11-08 15:24:22 +08:00
对比一下早期和现在的程序有多少功能就行了,而且有摩尔定律,既然电脑有那么多可用的资源干嘛不用呢,用户使用体验也上来了。
InkStone
2019-11-08 15:32:38 +08:00
质量正比于成本,这件事情从来没变过。

你现在拿给阿波罗编写程序的成本去做软件,一样能做出很强的软件。

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

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

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

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

© 2021 V2EX