官术网_书友最值得收藏!

1.1 計(jì)算機(jī)語(yǔ)言的發(fā)展

計(jì)算機(jī)語(yǔ)言(Computer Language)是人與計(jì)算機(jī)之間傳遞信息的媒介,用于人與計(jì)算機(jī)之間的通信。為了使計(jì)算機(jī)按照人類(lèi)的指令進(jìn)行各種工作,計(jì)算機(jī)系統(tǒng)就需要有一套人能夠編寫(xiě)并且翻譯后計(jì)算機(jī)能讀懂的程序,用來(lái)表示生活中的數(shù)字、字符和語(yǔ)法規(guī)則,并通過(guò)指令把命令傳達(dá)給機(jī)器。由這些字符和語(yǔ)法規(guī)則組成的計(jì)算機(jī)的各種指令(或各種語(yǔ)句)就是計(jì)算機(jī)語(yǔ)言。

計(jì)算機(jī)語(yǔ)言的發(fā)展經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言3個(gè)階段。

1.1.1 機(jī)器語(yǔ)言

機(jī)器語(yǔ)言是指計(jì)算機(jī)能夠完全識(shí)別的指令集合,是最低、最早的程序語(yǔ)言,是由“0”和“1”組成的二進(jìn)制數(shù)(代碼),而二進(jìn)制是計(jì)算機(jī)語(yǔ)言的基礎(chǔ)。計(jì)算機(jī)發(fā)明之初,人們將一串串由“0”和“1”組成的指令序列交由計(jì)算機(jī)執(zhí)行,這就是計(jì)算機(jī)唯一能夠真正識(shí)別的機(jī)器語(yǔ)言。使用機(jī)器語(yǔ)言編寫(xiě)程序是十分痛苦的,特別是程序有錯(cuò)需要修改的時(shí)候。

1.1.2 匯編語(yǔ)言

為了減輕使用機(jī)器語(yǔ)言編程的痛苦,人們進(jìn)行了一種有益的改進(jìn)。用一些簡(jiǎn)潔的英文字母、符號(hào)串來(lái)替代一個(gè)特定的二進(jìn)制串指令,如用“ADD”代表加法,“MOV”代表數(shù)據(jù)傳遞等。這樣一來(lái),人們很容易讀懂并理解程序在干什么,糾錯(cuò)及維護(hù)就變得方便了。這種程序設(shè)計(jì)語(yǔ)言即第二代計(jì)算機(jī)語(yǔ)言,稱(chēng)為匯編語(yǔ)言。然而計(jì)算機(jī)是不認(rèn)識(shí)這些符號(hào)的,這就需要一個(gè)專(zhuān)門(mén)的程序,負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制代碼的機(jī)器語(yǔ)言。這種翻譯程序被稱(chēng)為匯編程序。

匯編語(yǔ)言同樣十分依賴(lài)于機(jī)器硬件,移植性不好,但效率十分高,尤其在結(jié)合計(jì)算機(jī)硬件方面更能發(fā)揮特長(zhǎng),所以至今仍是一種強(qiáng)有力的軟件開(kāi)發(fā)工具。

1.1.3 高級(jí)語(yǔ)言

從最初與計(jì)算機(jī)交流的痛苦經(jīng)歷中,人們意識(shí)到應(yīng)該設(shè)計(jì)一種語(yǔ)言。這種語(yǔ)言接近于數(shù)學(xué)語(yǔ)言或人的自然語(yǔ)言,同時(shí)又不依賴(lài)于計(jì)算機(jī)硬件;編出的程序能在所有機(jī)器上通用。經(jīng)過(guò)努力, 1954年,第一個(gè)完全脫離機(jī)器硬件的高級(jí)語(yǔ)言FORTRAN問(wèn)世了。一直以來(lái),共有幾百種高級(jí)語(yǔ)言出現(xiàn),有重要意義的、影響較大、使用較普遍的有FORTRAN、BASIC、Pascal、C、PROLOG、C++、VC、VB、Java 等。從另一個(gè)角度分類(lèi),高級(jí)語(yǔ)言中的 C++、Java 等也被定義為面向?qū)ο笳Z(yǔ)言,所以也有人把面向?qū)ο笳Z(yǔ)言劃分為第四類(lèi)語(yǔ)言。

1.1.4 計(jì)算機(jī)語(yǔ)言的概念

了解計(jì)算機(jī)語(yǔ)言之前,讓我們先了解幾個(gè)概念。

指令:一條機(jī)器語(yǔ)言稱(chēng)為一條指令。指令是不可分割的最小功能單元。

程序:早期的程序就是一個(gè)個(gè)的二進(jìn)制文件,如今程序可以定義為“計(jì)算機(jī)要執(zhí)行的指令集合”。

機(jī)器語(yǔ)言是第一代計(jì)算機(jī)語(yǔ)言。早期人們通過(guò)機(jī)器語(yǔ)言向計(jì)算機(jī)發(fā)出指令,無(wú)需借助翻譯程序,計(jì)算機(jī)就能執(zhí)行機(jī)器語(yǔ)言編好的程序。

匯編語(yǔ)言是第二代語(yǔ)言,實(shí)質(zhì)和機(jī)器語(yǔ)言是相同的,都是直接對(duì)硬件操作,只不過(guò)指令采用了英文縮寫(xiě)的標(biāo)識(shí)符,更容易識(shí)別和記憶。

高級(jí)語(yǔ)言是目前絕大多數(shù)編程者的選擇,它雖然需要借助翻譯程序才能被計(jì)算機(jī)識(shí)別,但它簡(jiǎn)化了程序中的指令,并且去掉了與具體操作有關(guān)但與完成工作無(wú)關(guān)的細(xì)節(jié)。

高級(jí)語(yǔ)言的發(fā)展經(jīng)歷了從早期語(yǔ)言到結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,從面向過(guò)程到非過(guò)程化程序語(yǔ)言的過(guò)程。20世紀(jì)60年代中后期,各廠商推出的軟件各自為戰(zhàn),后期出現(xiàn)的“軟件危機(jī)”就是因?yàn)檐浖g兼容性錯(cuò)誤和困難造成的。1970年面向過(guò)程的結(jié)構(gòu)化程序語(yǔ)言Pascal的出現(xiàn),標(biāo)志著結(jié)構(gòu)化程序設(shè)計(jì)時(shí)期的開(kāi)始。20世紀(jì)80年代初開(kāi)始,面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言如C++、Visual Basic、Delphi出現(xiàn)。高級(jí)語(yǔ)言的下一個(gè)發(fā)展目標(biāo)是面向應(yīng)用,也就是說(shuō)只需要告訴程序要干什么,程序就能自動(dòng)生成算法進(jìn)行處理,這是非過(guò)程化的程序語(yǔ)言。

主站蜘蛛池模板: 定安县| 江阴市| 乐山市| 金华市| 万安县| 湛江市| 伊川县| 文登市| 邵东县| 湖州市| 搜索| 秦安县| 南华县| 康马县| 永安市| 夏津县| 宜良县| 会同县| 大港区| 顺昌县| 睢宁县| 开阳县| 朝阳县| 麟游县| 鄢陵县| 榆中县| 利辛县| 青神县| 巴彦淖尔市| 杭锦旗| 淳安县| 麻阳| 梁山县| 开平市| 荔浦县| 滦平县| 东乌| 托克托县| 武陟县| 日喀则市| 塔城市|