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

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

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

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

7565 次点击
所在节点    程序员
77 条回复
cyyzero
2019-11-08 23:24:55 +08:00
因果倒置。现在程序变成这样就是因为硬件提升资源够用了。
LZSZ
2019-11-08 23:25:15 +08:00
硬件上来了
billlee
2019-11-08 23:49:24 +08:00
阿波罗导航程序不会变需求
CoderXiaode
2019-11-08 23:50:44 +08:00
可参考安迪-比尔定律, "what Andy gives, Bill takes"
arraysnow
2019-11-09 00:00:24 +08:00
@murmur 我做互联网的,以我的业务为例,你看到的双 11 营销页面在后端第一层是千台 1c4g 服务器做在不停抗流量做渲染,还有若干百 G 的 redis 做支撑

可以优化吗?可以
哪个便宜?相比时间、人力、协作成本,堆硬件资源太划算了
cmdOptionKana
2019-11-09 00:33:24 +08:00
不是程序员水平问题,不是不愿意优化

真的只是因为需求增加了。

以 Electron 为例,占用资源很疯狂,表面上看是开发商不愿意优化,但是请看看用户的需求是什么:

1. 跨平台
2. 界面现代化、好看
3. 快速迭代(不断提出需求、要求快速实现、要求多平台同时实现)
4. 重点来了:免费、没有广告

以前低资源占用、高效运行的软件并没有收到这些需求,或者说用户就算有这些需求也无法实现。
takemeh
2019-11-09 00:40:52 +08:00
实现一个简易的网盘,包含 web 服务器, 加上权限控制上传下载移动删除, 还有前端页面。
猜猜这个程序完成后移动多大? 只有几十 KB, 详见这里 /t/497773

@1OF7G @7654 @arraysnow @ayase252 @billlee @BingoXuan @cest @charlie21 @cloudfstrife @CoderXiaode @coloz @creamiced @crella @cyyzero @default7 @ech0x @FallenTy @fancy111 @fox0001 @garyzhuang @gggxxxx @greatdancing @Greendays @guanhui07 @hoyixi @iIli1iIliIllLiL @imn1 @InkStone @inntechy @ivvei @janus77 @jedihy @kangzai50136 @kiwier @koalli @kokutou @linvaux @liuzhiyong @love @luckyrayyy @lvsemi1 @LZSZ @lzyliangzheyu @MaiKuraki @morphyhu @murmur @nicevar @opengps @Raymon111111 @realpg @sc3263 @sgissb1 @slanternsw @smdbh @TapCode @vipcc @wleexi @xeaglex @zjsxwc
KINGOD
2019-11-09 04:55:28 +08:00
@takemeh #67 当我们说资源占用的时候,更多的是说程序运行时需要的 CPU GPU 内存 存储 等等。编译后可执行文件的大小,只是一小方面。比如 :(){:|:&};: 只是十几个字节而已,却几乎能把 CPU 内存耗尽。
expy
2019-11-09 09:02:25 +08:00
大概是硬件比人工、时间成本便宜太多,现在的需求变化速度跟复杂度也不一样,
重点是用户稍微不满也不会影响赚钱。
takemeh
2019-11-09 10:40:09 +08:00
@KINGOD 是的,那个网盘也只占用很少的你说的这些资源。比如运行在只有 64MB 的内存的路由器上,可以几十个人同时上传几十 GB 的文件,内存占用依然很少。
limbo0
2019-11-09 10:58:41 +08:00
因为成本妥协,
一天一个需求和一个月一个需求的软件质量肯定不一样
XuanFei990
2019-11-09 12:15:54 +08:00
你这不在一个级别上谈。

单片机用在哪,CPU 用在哪,能一样么,
TapCode
2019-11-09 12:34:08 +08:00
目前我知道的是,有一些安卓第三方市场上架一些类型(工具类的好像不需要,有社交能力的 APP 绝对是要的)的 APP 需要公安备案 ,公安备案需要让 APP 具备足够的日志记录功能(不限于 IP、手机号、时间、位置信息等内容)
TapCode
2019-11-09 12:34:30 +08:00
@MaiKuraki 楼上
linshiyouxiang
2019-11-09 13:57:44 +08:00
我是来看评论的😂
brucefu
2019-11-09 15:51:10 +08:00
一个静态 Hello word 页面也要放 tomcat 里
nvioue
2019-11-09 19:55:18 +08:00
这算是计算机里面的通货膨胀之一.
我给你列举另外一个:

LeetCode53 是 easy, 拿来面试都不算难, 但这个答案是 1984 年的计算机教授给出的.

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

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

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

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

© 2021 V2EX