一個(gè)語(yǔ)言的發(fā)展不可能是一蹴而就的,它需要長(zhǎng)久的演變過程才能發(fā)展成被世人廣泛認(rèn)可的一門語(yǔ)言。正如中國(guó)的漢字也經(jīng)歷了從甲骨文到金文再到大篆、小篆、楷書、草書、行書、宋體這些較長(zhǎng)的發(fā)展階段才被人們熟知以及利用。而計(jì)算機(jī)語(yǔ)言亦是如此。它經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言三個(gè)階段。而現(xiàn)如今,高級(jí)語(yǔ)言是計(jì)算機(jī)廣泛識(shí)別和執(zhí)行的語(yǔ)言。
機(jī)器語(yǔ)言
機(jī)器語(yǔ)言是用二進(jìn)制代碼表示的、計(jì)算機(jī)能直接識(shí)別和執(zhí)行的一種機(jī)器指令的集合,它是計(jì)算機(jī)的設(shè)計(jì)者通過計(jì)算機(jī)的硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能。機(jī)器語(yǔ)言是第一代計(jì)算機(jī)語(yǔ)言。
計(jì)算機(jī)使用的是由,在計(jì)算機(jī)誕生之初,人們只能用計(jì)算機(jī)的語(yǔ)言對(duì)計(jì)算機(jī)發(fā)出指令,即寫出一串串由;和組成的指令序列交由計(jì)算機(jī)執(zhí)行,這種計(jì)算機(jī)認(rèn)識(shí)的語(yǔ)言,就是機(jī)器語(yǔ)言。用機(jī)器語(yǔ)言編寫程序,編程人員要首先熟記所用計(jì)算機(jī)的全部指令代碼和代碼的含義。編寫程序時(shí),程序員得自己處理每條指令以及每一數(shù)據(jù)的存儲(chǔ)分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態(tài),這是一件十分繁瑣的工作。而且,編出的程序全是二進(jìn)制的指令代碼,直觀性差又容易出錯(cuò),并且修改起來(lái)也比較困難。此外,不同型號(hào)的計(jì)算機(jī)的機(jī)器語(yǔ)言是不相通的,按一種計(jì)算機(jī)的機(jī)器指令編制的程序,不能在另一種計(jì)算機(jī)上執(zhí)行,所以,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成重復(fù)工作。但由于機(jī)器語(yǔ)言計(jì)算機(jī)可以直接識(shí)別而不需要進(jìn)行任何翻譯,其運(yùn)算效率是所有語(yǔ)言中最高的。
匯編語(yǔ)言
為了克服機(jī)器語(yǔ)言難讀、難編、難記和易出錯(cuò)的缺點(diǎn),人們就用與代碼指令實(shí)際含義相近的英文縮寫詞、字母和數(shù)字等符號(hào)來(lái)取代指令代碼(如用ADD表示運(yùn)算符號(hào);+&;的機(jī)器代碼),于是就產(chǎn)生了匯編語(yǔ)言。所以說(shuō),匯編語(yǔ)言是一種用助記符表示的仍然面向機(jī)器的計(jì)算機(jī)語(yǔ)言。匯編語(yǔ)言亦稱符號(hào)語(yǔ)言。匯編語(yǔ)言由于是采用了助記符號(hào)來(lái)編寫程序,比用機(jī)器語(yǔ)言的二進(jìn)制代碼編程要方便些,在一定程度上簡(jiǎn)化了編程過程。匯編語(yǔ)言的特點(diǎn)是用符號(hào)代替了機(jī)器指令代碼。而且助記符與指令代碼一一對(duì)應(yīng),基本保留了機(jī)器語(yǔ)言的靈活性。使用匯編語(yǔ)言能面向機(jī)器并較好地發(fā)揮機(jī)器的特性,得到質(zhì)量較高的程序。
匯編語(yǔ)言中由于使用了助記符號(hào),用匯編語(yǔ)言編制的程序送入計(jì)算機(jī),計(jì)算機(jī)不能象用機(jī)器語(yǔ)言編寫的程序一樣直接識(shí)別和執(zhí)行,必須通過預(yù)先放入計(jì)算機(jī)的 ;匯編程序;的加工和翻譯,才能變成能夠被計(jì)算機(jī)識(shí)別和處理的二進(jìn)制代碼程序。用匯編語(yǔ)言等非機(jī)器語(yǔ)言書寫好的符號(hào)程序稱源程序,運(yùn)行時(shí)匯編程序要將源程序翻譯成目標(biāo)程序。目標(biāo)程序是機(jī)器語(yǔ)言程序,它一經(jīng)被安置在內(nèi)存的預(yù)定位置上,就能被計(jì)算機(jī)的CPU處理和執(zhí)行。
匯編語(yǔ)言像機(jī)器指令一樣,是硬件操作的控制信息,因而仍然是面向機(jī)器的語(yǔ)言,使用起來(lái)還是比較繁瑣費(fèi)時(shí),通用性也差。匯編語(yǔ)言是低級(jí)語(yǔ)言。但是,匯編語(yǔ)言用來(lái)編制系統(tǒng)軟件和過程控制軟件,其目標(biāo)程序占用內(nèi)存空間少,運(yùn)行速度快,有著高級(jí)語(yǔ)言不可替代的用途。
高級(jí)語(yǔ)言
不論是機(jī)器語(yǔ)言還是匯編語(yǔ)言都是面向硬件的具體操作的,語(yǔ)言對(duì)機(jī)器的過分依賴,要求使用者必須對(duì)硬件結(jié)構(gòu)及其工作原理都十分熟悉,這對(duì)非計(jì)算機(jī)專業(yè)人員是難以做到的,對(duì)于計(jì)算機(jī)的推廣應(yīng)用是不利的。計(jì)算機(jī)事業(yè)的發(fā)展,促使人們?nèi)で笠恍┡c人類自然語(yǔ)言相接近且能為計(jì)算機(jī)所接受的語(yǔ)意確定、規(guī)則明確、自然直觀和通用易學(xué)的計(jì)算機(jī)語(yǔ)言。這種與自然語(yǔ)言相近并為計(jì)算機(jī)所接受和執(zhí)行的計(jì)算機(jī)語(yǔ)言稱高級(jí)語(yǔ)言。高級(jí)語(yǔ)言是面向用戶的語(yǔ)言。無(wú)論何種機(jī)型的計(jì)算機(jī),只要配備上相應(yīng)的高級(jí)語(yǔ)言的編譯或解釋程序,則用該高級(jí)語(yǔ)言編寫的程序就可以通用。
如今被廣泛使用的高級(jí)語(yǔ)言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及、VB等。這些語(yǔ)言都是屬于系統(tǒng)軟件。
計(jì)算機(jī)并不能直接地接受和執(zhí)行用高級(jí)語(yǔ)言編寫的源程序,源程序在輸入計(jì)算機(jī)時(shí),通過;翻譯程序;翻譯成機(jī)器語(yǔ)言形式的目標(biāo)程序,計(jì)算機(jī)才能識(shí)別和執(zhí)行。這種;翻譯;通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個(gè)稱為編譯程序的機(jī)器語(yǔ)言程序,作為系統(tǒng)軟件存放在計(jì)算機(jī)內(nèi),當(dāng)用戶由高級(jí)語(yǔ)言編寫的源程序輸入計(jì)算機(jī)后,編譯程序便把源程序整個(gè)地翻譯成用機(jī)器語(yǔ)言表示的與之等價(jià)的目標(biāo)程序,然后計(jì)算機(jī)再執(zhí)行該目標(biāo)程序,以完成源程序要處理的運(yùn)算并取得結(jié)果。解釋方式是:源程序進(jìn)入計(jì)算機(jī)時(shí),解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計(jì)算機(jī)一句句執(zhí)行,并不產(chǎn)生目標(biāo)程序。PASCAL、 FORTRAN、COBOL等高級(jí)語(yǔ)言執(zhí)行,編譯方式;BASIC語(yǔ)言則以執(zhí)行解釋方式為主;而PASCAL、C語(yǔ)言是能書寫編譯程序的高級(jí)程序設(shè)計(jì)語(yǔ)言。每一種高級(jí)(程序設(shè)計(jì))語(yǔ)言,都有自己人為規(guī)定的專用符號(hào)、英文單詞、語(yǔ)法規(guī)則和語(yǔ)句結(jié)構(gòu)(書寫格式)。高級(jí)語(yǔ)言與自然語(yǔ)言(英語(yǔ))更接近,而與硬件功能相分離(徹底脫離了具體的指令系統(tǒng)),便于廣大用戶掌握和使用。高級(jí)語(yǔ)言的通用性強(qiáng),兼容性好,便于移植。
通過以上對(duì)計(jì)算機(jī)語(yǔ)言發(fā)展過程的介紹,想必你對(duì)它們各自的語(yǔ)言特征都有了一定的了解。想要了解更多計(jì)算機(jī)語(yǔ)言的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。