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