官方說的BUG指的是什么?詳細點謝謝.
熱心網友
有人曾這樣比喻過摩爾定律造成的電腦技術的飛速發展:如果汽車工業像電腦工業那樣高速發展的話,現在的汽車每小時可以跑一千公里,售價只有一元錢。作者有一個反面的回應:幸好汽車工業沒有像電腦那樣發展。如果汽車像微機一樣的不安全不可靠的話,地球上活著的駕駛員和乘客大概就不多了。試想一下,如果你在高速公路上行駛,突然方向盤、油門、剎車全部失靈,儀表上顯示一條信息:“你執行了非法操作,系統關機。”這種可怕的景象,正是日常發生在我們每一個微機用戶身邊的事。這種情形的出現是如此頻繁,我們已經習以為常了。我們對“死機”這個名詞已毫不陌生,并且知道要隨時“存”一下自己的工作,比如正在編寫的一個文件,正在計算的一個報表,正在輸入的一個客戶名錄,正在創建的一個網頁等等。但是,當一個新用戶第一次用電腦時,恐怕會被這個情形嚇一大跳。作者曾親身經歷過一件事。有一天晚上,作者去看一個朋友,他正在試用新買回來的一臺個人電腦。他按了一個鍵,系統突然死機,隔壁的樓房也在同時停電。朋友嚇出了一身冷汗。他以為是他搞死了電腦,拖累得隔壁樓房也掉了電。其實,這些現象根本不是用戶的錯,是系統的“臭蟲”發作。如果要怪誰的話,應該怪電腦的硬件或軟件廠商。所謂“(Bug)”,是指電腦系統的硬件、系統軟件(如操作系統)或應用軟件(如文字處理軟件)出錯。硬件的出錯有兩個原因,一是設計錯誤,一是硬件部件老化失效等。軟件的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟件廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起bug發作。軟件廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心里是怎么想的,哪些操作序列是非法的。從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(Grace Hopper)發現的。哈珀后來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為“馬克二型”的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建筑。那是一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。突然,馬克二型死機了。技術人員試了很多辦法,最后定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一只飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,并注明“第一個發現蟲子的實例。”[1]從此以后,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。哈珀的事件記錄本,連同那個飛蛾,現在陳列在美國歷史博物館中。3今天的電腦BUG之多,是難以令人置信的。據電腦業界媒體報道,微軟視窗98操作系統改正了視窗95里面5000多個bug。也就是說,當幾年前視窗95軟件推向市場時,每套里都含有5000個bug!全世界有數千億個bug在我們的微機中飛來爬去,這就難怪我們的微機應用老會出問題了。電腦含有這么多bug有一個技術原因,就是軟件越來越龐大復雜。在任何復雜的大系統中,錯誤是難以避免的。大型軟件尤其難以按時按預算完成。1995年,國外的一個大規模的研究調查了17萬個軟件開發項目(總投資達2500億美元)。結果發現,只有6%按時按預算完成,31%的項目被中途取消。其余53%的項目最終完成,但都超出了預算和進度。這些項目中,一大半項目的實際花費超出預算達189%。電腦程序是由語句組成的。據報道,視窗95含有1500萬行代碼。假設每行代碼包含一個語句,那么視窗95的潛在臭蟲就會有200多萬個(見下頁規則4)。在出廠之前,微軟做了大量測試。根據瓊斯規則5,需要做18次測試才能把臭蟲數降低到5000個。假設測試一次耗時一個月(實際上常常不止一個月),那也需要一年半的時間。如果要把bug個數降到1,總共需要做42次測試,或三年半還多的時間。當然,微軟的視窗95建筑在視窗3。1版多年的開發和使用基礎上,并不是完全從頭做起,用不了這么多時間。但不論怎么算,測試和糾正bug的成本都是很大的。。