關於 Bug
Bug 中文是臭蟲、害蟲的意思,不過對於電腦程式設計師卻是永遠也揮之不去的痛,因為電腦程式中的 Bug 是程式錯誤的意思,現在也被延伸為任何領域問題的代稱。
Bug的由來
電腦硬體的發展是從機械時期到真空管時代,再演變為以電晶體取代真空管的體積,接著才是目前的積體電路時代。
據一些電腦玩家們戲傳,說以Bug引伸為程式錯誤這個說法,要從第一隻Bug出現的五十年代的真空管時期說起,當時的一台電腦的體積相當龐大,通當都會佔掉一整個大房間的空間,相對的當發生問題時便難以找出問題所在。
常看到程式開發人員為了找尋程式上的錯誤耗費大量的時間與精力,只為了將 " 牠 " 找出來以解決程式執行上的問題。為什麼程式錯誤稱作 " Bug "?原因是在第一代的電腦是由許多龐大且昂貴的真空管所組成,並利用大量的電力來使真空管發光。(真空管在運作時會發量且產生高溫)
有一回一隻蛾(小蟲子(Bug))不知如何地跑進了電腦內讓電腦無法正常運作,研究人員找了許久才發現原來其中一支繼電器裡面跑進了一隻蛾,造成電路不通讓電腦無法正常運作,將其除去之後電腦就恢復正常了。
於是Bug一詞便被延用到電腦問題上,一直到現在,當我們要找出程式的錯誤並加以修護時,習慣上我們會說 "Debug"(除錯),這就是 Bug 的由來。
程式的Bug
寫程式的人都曉得,一套程式完成後最困難的地方便是在除錯(Debug)方面,因為必須不斷的尋找到底問題出自何處,以及程式無法正常運作的原因。情況幾乎像真空管時期尋找那隻Bug一樣費事,於是電腦工程師們便持續將出現在程式內的錯誤稱為「Bug」,而尋找Bug便是除錯(Debug)。
因為在執行某項指令時,等於牽動了整個程式的運作,程式若有了Bug,就會像一條馬路突然有個坑洞般,會讓系統無法正常運作,通常這種情況不是突然當機就是會無故自動關閉(因為程式邏輯有問題)。
程式致命的傷害
一套好的程式一定是Bug愈少愈好,但因為電腦的進步神速,軟體也愈寫愈大,相對的Bug便會愈來愈多,如此要找到Bug便更加困難。
目前除錯的方式都會先將寫好的程式經由編譯器(Compiler)執行一次,如此更可知道Bug在那裡,但當程式行數相當多時(像現在動不動就是十幾萬行)只要動到一個地方,或許其它地方也會跟著發生錯誤,所以程式設計師的工作通常都是日以繼夜找出Bug,每當程式設計師聽到自己的程式有Bug時,第一個反應一定是相當無奈。 |
|