
「『除錯』這個詞,原本還以為是很帥氣的專業術語,結果在準備 IT 證照時查了由來之後,事情的發展完全出乎意料。」
大家好,我是在公司自稱吉祥物,卻是全公司最不會看氣氛的ぷらむん🐯
偶爾會聽到前輩們說「這個先幫我除錯一下」,大家一直在講「除錯、除錯」的樣子很帥,但我以前只覺得這名字也太奇怪了吧。
就在今天我還在刷 IT Passport 的歷屆試題時,又遇到了「除錯」這個詞。
雖然只是憑選項的感覺猜對了,但我其實完全不知道為什麼會叫這個名字。
所以我決定去問問プラ二郎前輩!
—這篇文章適合這些人看—
🟠 常常聽到「除錯」這個詞,卻不知道它的由來
🟠 很好奇「bug」為什麼會變成表示程式錯誤的詞
🟠 想用日常例子理解除錯到底是在做什麼
🟠 在準備 IT Passport 時看到「除錯」這個詞,卻搞不太懂意思
【這篇文章的前提】
▶ 「架構」到底是什麼?來查查 IT 證照的 EA
▶ IT Passport 和基本情報的差別是什麼?該先學哪個?
【推薦參考網站】
▶ IPA IT Passport 試驗 歷屆試題(公開題目)
▶ IT Passport 歷屆試題道場

🧑💻:プラ二郎前輩
「除錯?如果你原本覺得這詞很帥,知道由來之後可能會有點失望喔」🧑💻:プラ二郎前輩
「在 IT Passport 裡,大概會像這樣出題」
Q. 在軟體開發中,發現程式的不良情況(bug),並找出原因加以排除的作業,最恰當的是哪一個?
① 重構
② 除錯
③ 移轉
④ 備份
查看答案 正解:② 除錯
發現程式的不良情況(bug),並找出原因加以排除的作業,就是除錯。
① 重構,是指在不改變外部可見行為的前提下,整理並改善內部程式碼結構
③ 移轉,是指將系統或資料搬移到新的環境中
④ 備份,是指把資料的複本儲存在其他地方

🧑💻:プラ二郎前輩
「先說『bug』,英文原本就是『蟲』的意思。把它當成機械不良的俚語,在這個故事之前就已經有人用了,只不過有一段事件讓它一下子變得很有名」
「蟲……?機械故障和蟲子,怎麼會有關係呢……?」
🧑💻:プラ二郎前輩
「1947 年 9 月 9 日,哈佛大學的一台名叫『Mark II』的計算機發生了誤作動。調查原因後,居然發現是真的飛蛾卡在機器內部的繼電器裡」
「居然真的是蟲造成的!?」
🧑💻:プラ二郎前輩
「沒錯。當時負責作業的葛麗絲・霍普(Grace Hopper)等人的團隊,把那隻飛蛾貼在筆記上,並記錄成『第一次實際發現 bug 的例子』。這件事因為字面上剛好重疊了『蟲(bug)』和『故障(bug)』的意思,而成為很有代表性的故事,也成了 "debug(除錯)" 這個詞開始普及的契機」

「由來是懂了,可是實際上到底會做什麼,還是有點模糊……」
🧑💻:プラ二郎前輩
「那就用比喻來說吧。除錯就像冷氣不夠冷的時候,找到濾網髒了,然後把它清乾淨一樣」🧑💻:プラ二郎前輩
「『不夠冷』這個症狀(=異常)出現時,先找出原因(=濾網髒了),然後把原因去除。除錯也是一樣,面對『程式沒有照預期運作』這個症狀,要找出造成問題的程式碼並修正,這就是除錯的工作」
「原來如此,不是只看症狀就算了,而是要一路找到原因並把它排除,才算完整啊」
🧑💻:プラ二郎前輩
「沒錯。順帶一提,刻意用各種條件去執行程式,確認有沒有問題的作業叫做『測試』;而把測試中發現的問題真正修好的作業,才叫『除錯』。兩者是分工不同的喔」
老實說,一開始我一直以為「除錯」是個很帥的專業術語。
但查了由來之後才發現,這其實是個因為真實的蟲子而誕生、意外有點可愛的詞。
這次我也發現,越是聽起來帥氣的詞,知道由來之後,印象往往會整個翻轉。
既然知道是從蟲子來的,就不再覺得它是什麼很帥的名字了……嗯,大概就是那種感覺吧。以後如果前輩說「幫我除錯一下」,我應該會很平靜地回答「好」。
—這次學到的內容整理如下—
🟠 「bug」在英文裡是「蟲」的意思。1947 年,真的有一隻飛蛾被發現在電腦裡,這件事成了這個詞普及的契機
🟠 「除錯」是指找出 bug(錯誤)的原因並加以排除的作業
🟠 用來確認有沒有問題的作業叫做「測試」,而把發現的問題修好的作業叫做「除錯」
PRUM 的工程師多數都是從零經驗錄用的。如果你也對像ぷらむん這樣的新人成長環境感興趣,歡迎到公司官網看看。
▶ PRUM 招募頁面
我們也有經營整理對工程師有幫助文章的網站,歡迎順便看看。
▶ 對工程師有幫助的文章網站
之後我還會再分享ぷらむん的奮鬥記。感謝你讀到最後🐯