网易首页 > 网易号 > 正文 申请入驻

世界上最完美的两个软件,太厉害了!

0
分享至

今天给大家介绍两个软件,一个体现了人类在软件开发流程上的极致,另外一个则体现了程序员个体能力的巅峰

0 1

航天飞机飞控软件

先来说第一个,航天飞机飞行控制软件,就是下图这个大家伙。


航天飞机重达120吨,还携带着2000吨的燃料。

它有四台硬件相同,软件也相同的计算机对发射过程进行精准控制,从几千个传感器中提取信息,每秒做出几百个决定,并且对每个决定进行投票。

第五台计算机,则运行着不同的软件,随时待命,准备替换其他发生故障的计算机。

这些计算机要确定什么时候对主发动机点火,什么时候下令固体火箭助推器点火,火箭姿态控制....

每次发射,软件都控制着价值40亿美元的设备,六名航天员的生命,以及国家的梦想。

这个软件不能崩溃,不能重启,最小的误差都不允许:一个三分之二秒的计时错误就会使航天飞机偏离航线近5公里。

洛克希德马丁公司的航天飞机小组实现了目标:软件几乎没有错误,接近完美。

软件的最后三个版本,每个版本(42万行代码)只有一个Bug。

最后的11个版本一共有17个错误,同等复杂度的商业程序有5000个。

这样的软件是如何炼成的呢?

答案是极为苛刻软件流程。

洛克希德马丁公司的航天飞机软件小组有260名员工,这些人创造了一种完全不同的开发文化。

没有超级明星程序员,开发软件的整个流程都是有意设计的,不依赖任何特定的人。

这个流程使得他们过上正常的生活,满足最后期限,交付完全符合其承诺的软件。

这个流程包含几个要点:

1. 软件的质量取决于软件的计划

在航天飞机软件开发小组,软件开发周期中有三分之一的时间不写代码,而是和NASA一起用来讨论需求:软件应该做什么事情。

即使是最微小的细节也要达成一致。不是口头达成一致,而是写下来,文档化,形成规范,非常专业和精确。

未经双方的同意,规范中的任何内容都不会更改。

没有良好定义的规范,程序员不会改任何一行代码。

例如让航天飞机使用GPS导航,这一变化仅涉及6366行代码,占程序总量的1.5%, 但是相关的文档长达2500页,涵盖了各种各样的条件,分支,几乎就是伪代码了。

而航天飞机系统的软件,总文档足足有30卷,40000页!

2. 两个百科全书式的数据库

一个是代码历史的数据库,每一行代码都有注释,显示每次的更改时间,更改原因,更改目的,有哪些文档详细说明了更改。

对于代码发生的一切都记录在这里,每一行代码的“祖谱”都可以立刻提供给每个人。

第二个是错误数据库,记录了软件在编写和运行时发生的每一个错误,可以追溯到近20年前。

每个错误都会记录下它被发现的时间,是谁发现了它,当时正在发生什么活动(测试,训练,飞行),错误是如何引入的,为什么逃过了设计阶段,开发阶段,测试阶段的严格审查.....

由于积累了如此多的数据,以至于他们开发了一个代码模型,能预测某个版本中可能有多少错误。

如果开发人员和测试人员发现的Bug太少,大家会重复流程,努力使得现实和预测相匹配。

3.不止要修复错误,要修复任何引入错误的东西

如果软件存在缺陷,那么编写它的方式一定存在问题。

在计划阶段没有发现的Bug,是如何逃过检查的?检查流程是否出了问题,是不是要在checklist上增加一项检查?

重要的是,不要将错误归咎于个人。流程要承担责任---启动一个分析的流程来发现Bug的原因。

航天飞机软件开发小组的流程是如此强大,不仅仅通过了SEI CMM5的认证,而且SEI的不少标准就来自于这个小组的各种实践。

洛克希德马丁开发了近乎完美的软件,大家肯定会想到一个问题:这种开发方式会不会扼杀创造力?

他们的回答是:会,因为大家必须按照手册上规定的流程去做,并且时时刻刻都有人在背后监督。

人们必须将创造力用于改变流程,而不是改变软件。

0 2

排版软件TEX

经典巨著《计算机程序设计的艺术》在程序员界可谓是无人不知,无人不晓了。


1973年,这部刚出到第三卷的书(计划写七卷)已被计算机界视为“神作”, 1974年美国计算机学会就“迫不及待”的把计算机界的最高奖图灵奖授予高德纳。

此时高德纳仅仅36岁 !只靠一套还没有完成的书就获得ACM图灵奖,不但是前无古人,估计也后无来者了。

然而令人大跌眼镜的是, 拿到图灵奖以后, 高德纳宣布暂停写作, 理由竟然是现有的计算机排版系统太差,破坏了书的美感 !然后单枪匹马开发出了革命性的排版系统TEX , TEX至今仍是全球学术排版的不二之选。

TEX功能强大,几乎无懈可击,其版本号也很有意思,不是数字(3.0, 3.1, 3.2....) 也不是年份(Windows 95, 98, 2000...),而是不断逼近的圆周率 (3.1415926...) ,这从侧面反映了软件几近完美,不需要做改进了。

高德纳曾表示“最后一次升级是(于我过世后)将版本数改为 π,那时任何余下的漏洞将被看作程序的功能!

有趣的是高纳德为此还设置了奖金,谁能从TEX 发现第一个Bug ,奖励2.56美元,然后每年翻一倍,5.12,10.24......

作为算法的大师,不可能不知道指数增长的可怕性,但高德纳对自己的代码质量非常有信心,事实上,当奖金达到327.68美元以后,基本上就没什么Bug报出来了。

那些找到Bug 的人收到高德纳签名的支票以后也不去兑换, 而是作为珍品收藏了 :-)

高德纳编程能力之强可以说是碾压硅谷的所有程序员,面向对象的发明人Alan Kay(2003年图灵奖)这么说过:

60年代末,当我在斯坦福从事AI项目时,每个感恩节我们都会和硅谷的编程高手们举行编程竞赛,McCarthy(人工智能之父,1971年获图灵奖)出题, 奖品是好像是一只火鸡。

高德纳参与的那一年,把我们都给虐了, 他的代码无论是程序执行和算法执行都是最快的,并且他用的是一台最慢的批处理机器!

我们问高德纳:“你是怎么做到的?”

他说:“当我学习编程时,如果每天有五分钟的时间使用机器,就高兴得不得了, 所以必须要让程序一次运行成功,没有错误,算法设计达到最佳。”

全文完,觉得不错的话点个赞或者在看吧!

近期爆文

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
27岁小伙网恋5天结婚,37岁女友又老又丑:都怀孕了,我怕啥

27岁小伙网恋5天结婚,37岁女友又老又丑:都怀孕了,我怕啥

农村情感故事
2025-01-23 22:31:12
他只是次轮55顺位!31分+带队逆转+隔扣大中锋,让布朗尼上首发!

他只是次轮55顺位!31分+带队逆转+隔扣大中锋,让布朗尼上首发!

小彭美识
2025-01-25 15:50:34
小米YU7最新实车曝光,采用爱马仕橙内饰

小米YU7最新实车曝光,采用爱马仕橙内饰

沙雕小琳琳
2025-01-22 17:43:41
湖人官方置顶布朗尼隔扣:詹皇高呼年轻国王 感恩生命言论显情商

湖人官方置顶布朗尼隔扣:詹皇高呼年轻国王 感恩生命言论显情商

颜小白的篮球梦
2025-01-25 15:19:30
瓜帅感谢沃克:感谢效力七年间的辛勤付出,帮球队带来这么多冠军

瓜帅感谢沃克:感谢效力七年间的辛勤付出,帮球队带来这么多冠军

直播吧
2025-01-25 16:15:12
普京为何不妥协?亲俄媒体揭秘:普京要的不是和平而是乌克兰投降

普京为何不妥协?亲俄媒体揭秘:普京要的不是和平而是乌克兰投降

飞狼
2025-01-24 07:30:09
美国法院开始阻止唐纳德·特朗普的命令

美国法院开始阻止唐纳德·特朗普的命令

风华讲史
2025-01-25 14:20:25
詹姆斯是高端局第一人!黄绿大战场均得分历史前二!超过科比!

詹姆斯是高端局第一人!黄绿大战场均得分历史前二!超过科比!

历史第一人梅西
2025-01-25 14:54:25
卡福:内马尔是巴西队最后一个世界级偶像,但只靠他无法赢世界杯

卡福:内马尔是巴西队最后一个世界级偶像,但只靠他无法赢世界杯

直播吧
2025-01-24 23:42:33
苹果手机一般使用寿命多少年?说出来你可能不信

苹果手机一般使用寿命多少年?说出来你可能不信

小兔子发现大事情
2025-01-19 11:37:39
在岸人民币对美元夜盘收报7.2380,较上一交易日夜盘收涨466个基点

在岸人民币对美元夜盘收报7.2380,较上一交易日夜盘收涨466个基点

每日经济新闻
2025-01-25 07:26:09
机器人具有唯一性的三条金蛇,个个都不足5元,均有1000%潜力

机器人具有唯一性的三条金蛇,个个都不足5元,均有1000%潜力

小波股事历程
2025-01-25 13:37:34
一觉醒来,25日传来快船多条劲爆消息

一觉醒来,25日传来快船多条劲爆消息

美人茶话会
2025-01-25 08:26:24
特朗普致电丹麦首相梅特,要求丹麦将格陵兰岛移交给美国

特朗普致电丹麦首相梅特,要求丹麦将格陵兰岛移交给美国

风华讲史
2025-01-25 12:02:42
云南女孩失踪新线索: 现场摊贩提供重要线索 到中缅边境线外被否

云南女孩失踪新线索: 现场摊贩提供重要线索 到中缅边境线外被否

晓徙历史
2025-01-25 09:49:38
巩俐新造型翻车,挑染紫发、画浓妆,被嘲“大脸盘子”像是换个人

巩俐新造型翻车,挑染紫发、画浓妆,被嘲“大脸盘子”像是换个人

娱乐白名单
2025-01-24 23:53:09
1951年,杀害李大钊的凶手瘫在床上,彭真指示:就剩一口气也要抓

1951年,杀害李大钊的凶手瘫在床上,彭真指示:就剩一口气也要抓

让时间说真话
2024-03-14 21:22:16
终结“彩虹文化”、关闭政府DEI办公室,特朗普与玛丽安“互怼”

终结“彩虹文化”、关闭政府DEI办公室,特朗普与玛丽安“互怼”

汉娜书房
2025-01-24 15:43:23
硬刚美国政府!大疆取消在美禁飞区,从此白宫上空都能随便飞?

硬刚美国政府!大疆取消在美禁飞区,从此白宫上空都能随便飞?

科普启示录
2025-01-25 15:43:50
有车也没用!河南一男子买奥迪相亲,3年了,依然没有女生愿意嫁

有车也没用!河南一男子买奥迪相亲,3年了,依然没有女生愿意嫁

唐小糖说情感
2025-01-16 16:17:12
2025-01-25 16:35:00
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
91文章数 363关注度
往期回顾 全部

科技要闻

焕新ModelY微调 品牌仍是特斯拉最大护城河

头条要闻

上海车站候车大厅夜晚亮如白昼 网友:可能有1亿人

头条要闻

上海车站候车大厅夜晚亮如白昼 网友:可能有1亿人

体育要闻

东部巨头,以己之短,对彼之相对短?

娱乐要闻

戚薇二胎儿子首次曝光!共用同一张脸

财经要闻

五天暴涨900点!人民币汇率新春狂飙

汽车要闻

10万元级无图智驾 悦也PLUS全路况实测

态度原创

本地
游戏
艺术
亲子
军事航空

本地新闻

全球迎新 | 2025蛇年春节

Doinb和IG握手言和!互相道歉!跪下用词不当,已跟IG解除误会

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

亲子要闻

爸爸把球按下去宝宝刚要好奇球,突然弹了起来吓得宝宝大哭

军事要闻

"80后"电视主持人确认出任美防长

无障碍浏览 进入关怀版