成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

世界上完美的兩個(gè)軟件,太厲害了!

開發(fā) 架構(gòu)
在航天飛機(jī)軟件開發(fā)小組,軟件開發(fā)周期中有三分之一的時(shí)間不寫代碼,而是和NASA一起用來討論需求:軟件應(yīng)該做什么事情。

今天給大家介紹兩個(gè)軟件,一個(gè)體現(xiàn)了人類在軟件開發(fā)流程上的極致,另外一個(gè)則體現(xiàn)了程序員個(gè)體能力的巔峰。

1、航天飛機(jī)飛控軟件

先來說第一個(gè),航天飛機(jī)飛行控制軟件,就是下圖這個(gè)大家伙。

圖片

航天飛機(jī)重達(dá)120噸,還攜帶著2000噸的燃料。

它有四臺硬件相同,軟件也相同的計(jì)算機(jī)對發(fā)射過程進(jìn)行精準(zhǔn)控制,從幾千個(gè)傳感器中提取信息,每秒做出幾百個(gè)決定,并且對每個(gè)決定進(jìn)行投票。

第五臺計(jì)算機(jī),則運(yùn)行著不同的軟件,隨時(shí)待命,準(zhǔn)備替換其他發(fā)生故障的計(jì)算機(jī)。

這些計(jì)算機(jī)要確定什么時(shí)候?qū)χ靼l(fā)動機(jī)點(diǎn)火,什么時(shí)候下令固體火箭助推器點(diǎn)火,火箭姿態(tài)控制....

每次發(fā)射,軟件都控制著價(jià)值40億美元的設(shè)備,六名航天員的生命,以及國家的夢想。

這個(gè)軟件不能崩潰,不能重啟,最小的誤差都不允許:一個(gè)三分之二秒的計(jì)時(shí)錯(cuò)誤就會使航天飛機(jī)偏離航線近5公里。

洛克希德馬丁公司的航天飛機(jī)小組實(shí)現(xiàn)了目標(biāo):軟件幾乎沒有錯(cuò)誤,接近完美。

軟件的最后三個(gè)版本,每個(gè)版本(42萬行代碼)只有一個(gè)Bug。

最后的11個(gè)版本一共有17個(gè)錯(cuò)誤,同等復(fù)雜度的商業(yè)程序有5000個(gè)。

這樣的軟件是如何煉成的呢?

答案是極為苛刻軟件流程。

洛克希德馬丁公司的航天飛機(jī)軟件小組有260名員工,這些人創(chuàng)造了一種完全不同的開發(fā)文化。

沒有超級明星程序員,開發(fā)軟件的整個(gè)流程都是有意設(shè)計(jì)的,不依賴任何特定的人。

這個(gè)流程使得他們過上正常的生活,滿足最后期限,交付完全符合其承諾的軟件。

這個(gè)流程包含幾個(gè)要點(diǎn):

1. 軟件的質(zhì)量取決于軟件的計(jì)劃

在航天飛機(jī)軟件開發(fā)小組,軟件開發(fā)周期中有三分之一的時(shí)間不寫代碼,而是和NASA一起用來討論需求:軟件應(yīng)該做什么事情。

即使是最微小的細(xì)節(jié)也要達(dá)成一致。不是口頭達(dá)成一致,而是寫下來,文檔化,形成規(guī)范,非常專業(yè)和精確。

未經(jīng)雙方的同意,規(guī)范中的任何內(nèi)容都不會更改。

沒有良好定義的規(guī)范,程序員不會改任何一行代碼。

例如讓航天飛機(jī)使用GPS導(dǎo)航,這一變化僅涉及6366行代碼,占程序總量的1.5%, 但是相關(guān)的文檔長達(dá)2500頁,涵蓋了各種各樣的條件,分支,幾乎就是偽代碼了。

而航天飛機(jī)系統(tǒng)的軟件,總文檔足足有30卷,40000頁!

2. 兩個(gè)百科全書式的數(shù)據(jù)庫

一個(gè)是代碼歷史的數(shù)據(jù)庫,每一行代碼都有注釋,顯示每次的更改時(shí)間,更改原因,更改目的,有哪些文檔詳細(xì)說明了更改。

對于代碼發(fā)生的一切都記錄在這里,每一行代碼的“祖譜”都可以立刻提供給每個(gè)人。

第二個(gè)是錯(cuò)誤數(shù)據(jù)庫,記錄了軟件在編寫和運(yùn)行時(shí)發(fā)生的每一個(gè)錯(cuò)誤,可以追溯到近20年前。

每個(gè)錯(cuò)誤都會記錄下它被發(fā)現(xiàn)的時(shí)間,是誰發(fā)現(xiàn)了它,當(dāng)時(shí)正在發(fā)生什么活動(測試,訓(xùn)練,飛行),錯(cuò)誤是如何引入的,為什么逃過了設(shè)計(jì)階段,開發(fā)階段,測試階段的嚴(yán)格審查.....

由于積累了如此多的數(shù)據(jù),以至于他們開發(fā)了一個(gè)代碼模型,能預(yù)測某個(gè)版本中可能有多少錯(cuò)誤。

如果開發(fā)人員和測試人員發(fā)現(xiàn)的Bug太少,大家會重復(fù)流程,努力使得現(xiàn)實(shí)和預(yù)測相匹配。

3.不止要修復(fù)錯(cuò)誤,要修復(fù)任何引入錯(cuò)誤的東西

如果軟件存在缺陷,那么編寫它的方式一定存在問題。

在計(jì)劃階段沒有發(fā)現(xiàn)的Bug,是如何逃過檢查的?檢查流程是否出了問題,是不是要在checklist上增加一項(xiàng)檢查?

重要的是,不要將錯(cuò)誤歸咎于個(gè)人。流程要承擔(dān)責(zé)任---啟動一個(gè)分析的流程來發(fā)現(xiàn)Bug的原因。

航天飛機(jī)軟件開發(fā)小組的流程是如此強(qiáng)大,不僅僅通過了SEI CMM5的認(rèn)證,而且SEI的不少標(biāo)準(zhǔn)就來自于這個(gè)小組的各種實(shí)踐。

洛克希德馬丁開發(fā)了近乎完美的軟件,大家肯定會想到一個(gè)問題:這種開發(fā)方式會不會扼殺創(chuàng)造力?

他們的回答是:會,因?yàn)榇蠹冶仨毎凑帐謨陨弦?guī)定的流程去做,并且時(shí)時(shí)刻刻都有人在背后監(jiān)督。

人們必須將創(chuàng)造力用于改變流程,而不是改變軟件。

2、排版軟件TEX

經(jīng)典巨著《計(jì)算機(jī)程序設(shè)計(jì)的藝術(shù)》在程序員界可謂是無人不知,無人不曉了。

圖片

1973年,這部剛出到第三卷的書(計(jì)劃寫七卷)已被計(jì)算機(jī)界視為“神作”, 1974年美國計(jì)算機(jī)學(xué)會就“迫不及待”的把計(jì)算機(jī)界的最高獎(jiǎng)圖靈獎(jiǎng)授予高德納。

此時(shí)高德納僅僅36歲 !只靠一套還沒有完成的書就獲得ACM圖靈獎(jiǎng),不但是前無古人,估計(jì)也后無來者了。

然而令人大跌眼鏡的是, 拿到圖靈獎(jiǎng)以后, 高德納宣布暫停寫作, 理由竟然是現(xiàn)有的計(jì)算機(jī)排版系統(tǒng)太差,破壞了書的美感 !然后單槍匹馬開發(fā)出了革命性的排版系統(tǒng)TEX , TEX至今仍是全球?qū)W術(shù)排版的不二之選。

TEX功能強(qiáng)大,幾乎無懈可擊,其版本號也很有意思,不是數(shù)字(3.0, 3.1, 3.2....) 也不是年份(Windows 95, 98, 2000...),而是不斷逼近的圓周率 (3.1415926...) ,這從側(cè)面反映了軟件幾近完美,不需要做改進(jìn)了。

高德納曾表示“最后一次升級是(于我過世后)將版本數(shù)改為 π,那時(shí)任何余下的漏洞將被看作程序的功能!

有趣的是高納德為此還設(shè)置了獎(jiǎng)金,誰能從TEX 發(fā)現(xiàn)第一個(gè)Bug ,獎(jiǎng)勵(lì)2.56美元,然后每年翻一倍,5.12,10.24......

作為算法的大師,不可能不知道指數(shù)增長的可怕性,但高德納對自己的代碼質(zhì)量非常有信心,事實(shí)上,當(dāng)獎(jiǎng)金達(dá)到327.68美元以后,基本上就沒什么Bug報(bào)出來了。 

那些找到Bug 的人收到高德納簽名的支票以后也不去兌換, 而是作為珍品收藏了 :-)

高德納編程能力之強(qiáng)可以說是碾壓硅谷的所有程序員,面向?qū)ο蟮陌l(fā)明人Alan Kay(2003年圖靈獎(jiǎng))這么說過:

60年代末,當(dāng)我在斯坦福從事AI項(xiàng)目時(shí),每個(gè)感恩節(jié)我們都會和硅谷的編程高手們舉行編程競賽,McCarthy(人工智能之父,1971年獲圖靈獎(jiǎng))出題, 獎(jiǎng)品是好像是一只火雞。

高德納參與的那一年,把我們都給虐了, 他的代碼無論是程序執(zhí)行和算法執(zhí)行都是最快的,并且他用的是一臺最慢的批處理機(jī)器!

我們問高德納:“你是怎么做到的?”

他說:“當(dāng)我學(xué)習(xí)編程時(shí),如果每天有五分鐘的時(shí)間使用機(jī)器,就高興得不得了, 所以必須要讓程序一次運(yùn)行成功,沒有錯(cuò)誤,算法設(shè)計(jì)達(dá)到最佳。”

責(zé)任編輯:武曉燕 來源: 碼農(nóng)翻身
相關(guān)推薦

2025-01-09 11:10:15

2021-11-01 07:50:44

TomcatWeb應(yīng)用

2022-04-08 08:11:28

Python代碼

2024-10-14 10:58:13

2023-03-16 09:57:34

Linux發(fā)行版Arch Linux

2024-07-10 10:25:15

2020-10-23 10:36:08

Dropbox

2023-07-31 08:59:46

軟件FossilSQLite

2013-04-24 09:57:08

Excel微軟

2025-03-27 00:45:00

2024-02-26 12:42:40

2019-07-21 07:37:20

APT惡意軟件網(wǎng)絡(luò)安全

2018-04-11 14:30:33

2017-02-23 08:00:04

智能語音Click

2018-05-14 22:58:14

戴爾

2021-03-01 12:06:12

Nginx命令Linux

2021-10-08 13:38:23

手機(jī)系統(tǒng)鴻蒙

2024-04-28 09:14:05

2018-11-06 12:22:18

排序算法代碼

2022-06-06 07:52:00

Python大風(fēng)車
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久999| 欧美6一10sex性hd | av一区二区三区 | 精品国产18久久久久久二百 | 成人在线免费观看视频 | 欧美啪啪 | 91麻豆精品国产91久久久更新资源速度超快 | 成人精品一区二区三区中文字幕 | 97久久精品午夜一区二区 | 亚洲国产成人精品女人久久久 | 亚洲一区在线观看视频 | 国产999精品久久久 日本视频一区二区三区 | 一区二区三区亚洲 | 欧美日一区 | 日本一区二区三区视频在线 | 亚洲精品一区二区三区在线 | 中文字幕在线观看成人 | 日韩美香港a一级毛片免费 国产综合av | 国产亚洲一区二区三区在线观看 | 1区2区3区视频 | 91精品国产欧美一区二区 | 九九精品在线 | 日韩成人在线一区 | 久久国产精品首页 | 国产午夜在线观看 | 成人亚洲精品久久久久软件 | 成人国产精品色哟哟 | 99久久国产免费 | 一级看片免费视频囗交动图 | 中文字幕 在线观看 | 久久99精品久久久久久噜噜 | 成人精品久久日伦片大全免费 | 国产精品久久久久一区二区三区 | 中文字幕日韩一区 | 在线亚洲免费 | 欧美日韩免费一区二区三区 | 欧美一区二区三区久久精品 | 黄色片在线网站 | 欧美激情在线精品一区二区三区 | 在线a视频网站 | 野狼在线社区2017入口 |