讯美深圳网站建设百度站长平台h5网站

当前位置: 首页 > news >正文

讯美深圳网站建设,百度站长平台h5网站,大型平面设计网站,wordpress说有图片居中对齐今天给大家介绍两个软件#xff0c;一个体现了人类在软件开发流程上的极致#xff0c;另外一个则体现了程序员个体能力的巅峰。01航天飞机飞控软件先来说第一个#xff0c;航天飞机飞行控制软件#xff0c;就是下图这个大家伙。航天飞机重达120吨#xff0c;还携带着2000吨…今天给大家介绍两个软件一个体现了人类在软件开发流程上的极致另外一个则体现了程序员个体能力的巅峰。01航天飞机飞控软件先来说第一个航天飞机飞行控制软件就是下图这个大家伙。航天飞机重达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的不少标准就来自于这个小组的各种实践。洛克希德马丁开发了近乎完美的软件大家肯定会想到一个问题这种开发方式会不会扼杀创造力他们的回答是会因为大家必须按照手册上规定的流程去做并且时时刻刻都有人在背后监督。人们必须将创造力用于改变流程而不是改变软件。02排版软件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.1210.24……作为算法的大师不可能不知道指数增长的可怕性但高德纳对自己的代码质量非常有信心事实上当奖金达到327.68美元以后基本上就没什么Bug报出来了。 那些找到Bug 的人收到高德纳签名的支票以后也不去兑换 而是作为珍品收藏了 :-)高德纳编程能力之强可以说是碾压硅谷的所有程序员面向对象的发明人Alan Kay2003年图灵奖这么说过60年代末当我在斯坦福从事AI项目时每个感恩节我们都会和硅谷的编程高手们举行编程竞赛McCarthy人工智能之父1971年获图灵奖出题 奖品是好像是一只火鸡。高德纳参与的那一年把我们都给虐了 他的代码无论是程序执行和算法执行都是最快的并且他用的是一台最慢的批处理机器我们问高德纳“你是怎么做到的”他说“当我学习编程时如果每天有五分钟的时间使用机器就高兴得不得了 所以必须要让程序一次运行成功没有错误算法设计达到最佳。”完