一、程序中“Bug”這個詞在英語中原本的意思是“昆蟲”
在19世紀(jì)末,當(dāng)人們開始使用機(jī)械設(shè)備時,他們發(fā)現(xiàn)機(jī)器的故障有時是由于小昆蟲進(jìn)入機(jī)器內(nèi)部造成的,于是他們開始用“Bug”這個詞來描述機(jī)器的故障。
(一)首次使用:“Bug”這個詞首次被用來描述計算機(jī)故障是在1947年。當(dāng)時,美國海軍的一臺名為Mark II的計算機(jī)出現(xiàn)了故障,工程師在檢查機(jī)器時發(fā)現(xiàn)了一只飛蛾卡在了機(jī)器的繼電器中,他們將這只飛蛾移除后,機(jī)器就恢復(fù)正常了。從那時起,“Bug”這個詞就被用來描述計算機(jī)程序中的錯誤。
(二)Bug的類型:程序中的Bug有很多種,包括語法錯誤、邏輯錯誤、運(yùn)行時錯誤等。語法錯誤是由于程序員在編寫代碼時違反了編程語言的語法規(guī)則;邏輯錯誤是由于程序員在設(shè)計程序邏輯時出現(xiàn)了錯誤;運(yùn)行時錯誤是程序在運(yùn)行過程中出現(xiàn)的錯誤,如內(nèi)存溢出、除以零等。
(三)Bug的處理:程序中的Bug需要通過調(diào)試來發(fā)現(xiàn)和修復(fù)。調(diào)試是一種檢查和測試程序的過程,目的是找出程序中的錯誤并修復(fù)它。程序員通常會使用各種調(diào)試工具來幫助他們進(jìn)行調(diào)試。
二、電腦病毒的設(shè)計初衷并非是造成損害
史上第一款電腦病毒是由防御技術(shù)專家Fred Cohen親手設(shè)計出來的,他創(chuàng)造電腦病毒的目的是為了證明程序?qū)﹄娔X感染的可行性,從未希望借此對電腦造成任何危害。但這款程序卻能夠?qū)﹄娔X進(jìn)行感染,并且能通過軟盤等移動介質(zhì)在不同計算機(jī)之間進(jìn)行傳播,因而命名為病毒。后來,他又創(chuàng)造出一種主動式電腦病毒,主要目的是幫助電腦用戶找到未受感染可執(zhí)行文件。
目前電腦病毒的設(shè)計目的:
——破壞:破壞電腦系統(tǒng)或數(shù)據(jù),它們可能會刪除或修改電腦上的文件,或者使電腦無法正常運(yùn)行。
——盜竊:盜竊用戶的個人信息,如用戶名、密碼、信用卡信息等,這些信息可能會被用于進(jìn)行身份盜竊或其他形式的欺詐。
——控制:控制被感染的電腦,使其成為攻擊者的“僵尸網(wǎng)絡(luò)”的一部分,這些被控制的電腦可能會被用于進(jìn)行大規(guī)模的網(wǎng)絡(luò)攻擊,如拒絕服務(wù)攻擊。
三、鍵盤以QWER為順序的字母排列是延續(xù)打字機(jī)的設(shè)計布局
鍵盤上的字母排列順序被稱為QWERTY布局,這種布局最早在19世紀(jì)的打字機(jī)上使用。主要設(shè)計原因是:
——減少故障:在早期的打字機(jī)中,如果兩個相鄰的鍵被快速連續(xù)按下,打字機(jī)的機(jī)械臂可能會相互碰撞并卡住。QWER布局將常用的字母鍵分布在鍵盤的不同區(qū)域,以減少機(jī)械臂碰撞的可能性。
——提高效率:QWER布局將一些常用的字母組合,如“th”、“er”等,分布在不同的手指上,使得打字者可以快速地交替使用不同的手指進(jìn)行打字,從而提高打字速度。
雖然現(xiàn)在的電腦鍵盤已經(jīng)不再有機(jī)械臂碰撞的問題,但QWER布局由于其歷史悠久和廣泛使用,仍然是大多數(shù)鍵盤的默認(rèn)布局。