計(jì)算機(jī)語(yǔ)言分類(lèi)_第1頁(yè)
計(jì)算機(jī)語(yǔ)言分類(lèi)_第2頁(yè)
計(jì)算機(jī)語(yǔ)言分類(lèi)_第3頁(yè)
計(jì)算機(jī)語(yǔ)言分類(lèi)_第4頁(yè)
計(jì)算機(jī)語(yǔ)言分類(lèi)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(ComputerLanguage)指用于人與計(jì)算機(jī)之間通訊的語(yǔ)言。計(jì)算機(jī)系統(tǒng)最大特性是指令通過(guò)一種語(yǔ)言傳達(dá)給機(jī)器。為了使電子計(jì)算機(jī)進(jìn)行多個(gè)工作,就需要有一套用以編寫(xiě)計(jì)算機(jī)程序的數(shù)字、字符和語(yǔ)法規(guī)劃,由這些字符和語(yǔ)法規(guī)則構(gòu)成計(jì)算機(jī)多個(gè)指令(或多個(gè)語(yǔ)句)。發(fā)展:集成、可視的開(kāi)發(fā)環(huán)境——構(gòu)造化高級(jí)語(yǔ)言(在更抽象的層次上體現(xiàn)意圖)——面對(duì)對(duì)象程序設(shè)計(jì)(支持此技術(shù)的程序設(shè)計(jì)語(yǔ)言,eiffel,c++,java)趨勢(shì):面對(duì)對(duì)象:提供簡(jiǎn)樸的類(lèi)機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝狀態(tài)變量以及對(duì)應(yīng)的辦法,實(shí)現(xiàn)了模塊化和信息隱藏;提供了一類(lèi)對(duì)象的原型,并且通過(guò)繼承機(jī)制,子類(lèi)能夠使用父類(lèi)所提供的辦法,實(shí)現(xiàn)了代碼的復(fù)用。面對(duì)應(yīng)用:只需要告訴程序你要干什么,程序就能自動(dòng)生成算法,自動(dòng)進(jìn)行解決,這就是非過(guò)程化的程序語(yǔ)言。計(jì)算機(jī)語(yǔ)言的種類(lèi)非常的多,總的來(lái)說(shuō)能夠分成機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言三大類(lèi)。機(jī)器語(yǔ)言電子計(jì)算機(jī)所使用的是由"0"和"1"構(gòu)成的二進(jìn)制數(shù),二進(jìn)制是計(jì)算機(jī)的語(yǔ)言的基礎(chǔ)。計(jì)算機(jī)發(fā)明之初,人們用計(jì)算機(jī)的語(yǔ)言去命令計(jì)算機(jī)干這干那,一句話,就是寫(xiě)出一串串由"0"和"1"構(gòu)成的指令序列交由計(jì)算機(jī)執(zhí)行,這種計(jì)算機(jī)能夠認(rèn)識(shí)的語(yǔ)言,就是機(jī)器語(yǔ)言。使用機(jī)器語(yǔ)言是十分痛苦的,特別是在程序有錯(cuò)需要修改時(shí)更是如此。因此程序就是一種個(gè)的二進(jìn)制文獻(xiàn)。一條機(jī)器語(yǔ)言成為一條指令。指令是不可分割的最小功效單元。并且,由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相似,因此,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于使用的是針對(duì)特定型號(hào)計(jì)算機(jī)的語(yǔ)言,故而運(yùn)算效率是全部語(yǔ)言中最高的。機(jī)器語(yǔ)言,是第一代計(jì)算機(jī)語(yǔ)言。匯編語(yǔ)言為了減輕使用機(jī)器語(yǔ)言編程的痛苦,人們進(jìn)行了一種有益的改善:用某些簡(jiǎn)潔的英文字母、符號(hào)串來(lái)替代一種特定的指令的二進(jìn)制串,例如,用"ADD"代表加法,"MOV"代表數(shù)據(jù)傳遞等等,這樣一來(lái),人們很容易讀懂并理解程序在干什么,糾錯(cuò)及維護(hù)都變得方便了,這種程序設(shè)計(jì)語(yǔ)言就稱(chēng)為匯編語(yǔ)言,即第二代計(jì)算機(jī)語(yǔ)言。然而計(jì)算機(jī)是不認(rèn)識(shí)這些符號(hào)的,這就需要一種專(zhuān)門(mén)的程序,專(zhuān)門(mén)負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制數(shù)的機(jī)器語(yǔ)言,這種翻譯程序被稱(chēng)為匯編程序。匯編語(yǔ)言同樣十分依賴(lài)于機(jī)器硬件,移植性不好,但效率仍十分高,針對(duì)計(jì)算機(jī)特定硬件而編制的匯編語(yǔ)言程序,能精確發(fā)揮計(jì)算機(jī)硬件的功效和特長(zhǎng),程序精煉而質(zhì)量高,因此至今仍是一種慣用而強(qiáng)有力的軟件開(kāi)發(fā)工具。匯編語(yǔ)言的實(shí)質(zhì)和機(jī)器語(yǔ)言是相似的,都是直接對(duì)硬件操作,只但是指令采用了英文縮寫(xiě)的標(biāo)記符,更容易識(shí)別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫(xiě)出來(lái)。匯編程序的每一句指令只能對(duì)應(yīng)實(shí)際操作過(guò)程中的一種很細(xì)微的動(dòng)作,例如移動(dòng)、自增,因此匯編源程序普通比較冗長(zhǎng)、復(fù)雜、容易出錯(cuò),并且使用匯編語(yǔ)言編程需要有更多的計(jì)算機(jī)專(zhuān)業(yè)知識(shí),但匯編語(yǔ)言的優(yōu)點(diǎn)也是顯而易見(jiàn)的,用匯編語(yǔ)言所能完畢的操作不是普通高級(jí)語(yǔ)言所能實(shí)現(xiàn)的,并且源程序經(jīng)匯編生成的可執(zhí)行文獻(xiàn)不僅比較小,并且執(zhí)行速度很快。高級(jí)語(yǔ)言高級(jí)語(yǔ)言有:BASIC(Truebasic、Qbasic、VirtualBasic)、C、C++、PASCAL、FORTRAN、智能化語(yǔ)言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、動(dòng)態(tài)語(yǔ)言(Python、PHP、Ruby、Lua)等等。高級(jí)語(yǔ)言源程序能夠用解釋、編譯兩種方式執(zhí)行,普通用后一種。注:解釋類(lèi):執(zhí)行方式類(lèi)似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由對(duì)應(yīng)語(yǔ)言的解釋器“翻譯”成目的代碼(機(jī)器語(yǔ)言),一邊執(zhí)行,因此效率比較低,并且不能生成可獨(dú)立執(zhí)行的可執(zhí)行文獻(xiàn),應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,能夠動(dòng)態(tài)地調(diào)節(jié)、修改應(yīng)用程序。編譯類(lèi):編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目的代碼(機(jī)器語(yǔ)言),因此其目的程序能夠脫離其語(yǔ)言環(huán)境獨(dú)立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目的文獻(xiàn)(*.OBJ)才干執(zhí)行,只有目的文獻(xiàn)而沒(méi)有源代碼,修改很不方便。如今大多數(shù)的編程語(yǔ)言都是編譯型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi等。高級(jí)語(yǔ)言是絕大多數(shù)編程者的選擇。和匯編語(yǔ)言相比,它不僅將許多有關(guān)的機(jī)器指令合成為單條指令并且去掉了與具體操作有關(guān)但與完畢工作無(wú)關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡(jiǎn)化了程序中的指令。由于省略了諸多細(xì)節(jié),因此編程者也不需要含有太多的專(zhuān)業(yè)知識(shí)。高級(jí)語(yǔ)言重要是相對(duì)于匯編語(yǔ)言而言,它并不是特指某一種具體的語(yǔ)言,而是涉及了諸多編程語(yǔ)言,流行的VB、VC、FoxPro、Delphi等,這些語(yǔ)言的語(yǔ)法、命令格式都各不相似。在C語(yǔ)言誕生以前,系統(tǒng)軟件重要是用匯編語(yǔ)言編寫(xiě)的。由于匯編語(yǔ)言程序依賴(lài)于計(jì)算機(jī)硬件,其可讀性和可移植性都很差;但普通的高級(jí)語(yǔ)言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的直接操作(這正是匯編語(yǔ)言的優(yōu)勢(shì)),于是人們盼望有一種兼有匯編語(yǔ)言和高級(jí)語(yǔ)言特性的新語(yǔ)言——C語(yǔ)言。高級(jí)語(yǔ)言的發(fā)展也經(jīng)歷了從早期語(yǔ)言到構(gòu)造化程序設(shè)計(jì)語(yǔ)言,從面對(duì)過(guò)程到非過(guò)程化程序語(yǔ)言的過(guò)程。對(duì)應(yīng)地,軟件的開(kāi)發(fā)也由最初的個(gè)體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。常見(jiàn)語(yǔ)言匯編語(yǔ)言匯編是第一種計(jì)算機(jī)語(yǔ)言。匯編語(yǔ)言事實(shí)上是你計(jì)算機(jī)解決器實(shí)際運(yùn)行的指令的命令形式表達(dá)法。這意味著你將與解決器的底層打交道,例如寄存器和堆棧。如果你要找的是類(lèi)英語(yǔ)且有有關(guān)的自我闡明的語(yǔ)言,這不是你想要的。特別注意:語(yǔ)言的名字叫“匯編”。把匯編語(yǔ)言翻譯成真實(shí)的機(jī)器碼的工具叫“匯編程序”。把這門(mén)語(yǔ)言叫做“匯編程序”這種用詞不當(dāng)相稱(chēng)普遍,因此,請(qǐng)從這門(mén)語(yǔ)言的對(duì)的稱(chēng)呼作為起點(diǎn)出發(fā)。優(yōu)點(diǎn):最小、最快的語(yǔ)言。匯編高手能編寫(xiě)出比任何其它語(yǔ)言能實(shí)現(xiàn)的快得多的程序。你將是運(yùn)用解決器最新功效的第一人,由于你能直接使用它們。缺點(diǎn):難學(xué)、語(yǔ)法艱澀、堅(jiān)持效率,造成大量額外代碼—不適于心臟虛弱者。移植性:靠近零。由于這門(mén)語(yǔ)言是為一種單獨(dú)的解決器設(shè)計(jì)的,根本沒(méi)移植性可言。如果使用了某個(gè)特殊解決器的擴(kuò)展功效,你的代碼甚至無(wú)法移植到其它同類(lèi)型的解決器上(例如,AMD的3DNow指令是無(wú)法移植到其它飛躍系列的解決器上的)。C語(yǔ)言C語(yǔ)言是DennisRitchie在七十年代創(chuàng)立的,它功效更強(qiáng)大且與ALGOL保持更持續(xù)的繼承性,而ALGOL則是COBOL和FORTRAN的構(gòu)造化繼承者。C語(yǔ)言被設(shè)計(jì)成一種比它的前輩更精巧、更簡(jiǎn)樸的版本,它適于編寫(xiě)系統(tǒng)級(jí)的程序,例如操作系統(tǒng)。在此之前,操作系統(tǒng)是使用匯編語(yǔ)言編寫(xiě)的,并且不可移植。C語(yǔ)言是第一種使得系統(tǒng)級(jí)代碼移植成為可能的編程語(yǔ)言。優(yōu)點(diǎn):有益于編寫(xiě)小而快的程序。很容易與匯編語(yǔ)言結(jié)合。含有很高的原則化,因此其它平臺(tái)上的各版本非常相似。缺點(diǎn):不容易支持面對(duì)對(duì)象技術(shù)。語(yǔ)法有時(shí)會(huì)非常難以理解,并造成濫用。移植性:C語(yǔ)言的核心以及ANSI函數(shù)調(diào)用都含有移植性,但僅限于流程控制、內(nèi)存管理和簡(jiǎn)樸的文獻(xiàn)解決。其它的東西都跟平臺(tái)有關(guān)。例如說(shuō),為Windows和Mac開(kāi)發(fā)可移植的程序,顧客界面部分就需要用到與系統(tǒng)有關(guān)的函數(shù)調(diào)用。這普通意味著你必須寫(xiě)兩次顧客界面代碼,但是還好有某些庫(kù)能夠減輕工作量。C++C++語(yǔ)言是含有面對(duì)對(duì)象特性的C語(yǔ)言的繼承者。面對(duì)對(duì)象編程,或稱(chēng)OOP是構(gòu)造化編程的下一步。OO程序由對(duì)象構(gòu)成,其中的對(duì)象是數(shù)據(jù)和函數(shù)離散集合。有許多可用的對(duì)象庫(kù)存在,這使得編程簡(jiǎn)樸得只需要將某些程序“建筑材料”堆在一起(最少理論上是這樣)。例如說(shuō),有諸多的GUI和數(shù)據(jù)庫(kù)的庫(kù)實(shí)現(xiàn)為對(duì)象的集合。優(yōu)點(diǎn):組織大型程序時(shí)比C語(yǔ)言好得多。較好的支持面對(duì)對(duì)象機(jī)制。通用數(shù)據(jù)構(gòu)造,如鏈表和可增加的陣列構(gòu)成的庫(kù)減輕了由于解決低層細(xì)節(jié)的負(fù)擔(dān)。缺點(diǎn):非常大而復(fù)雜。與C語(yǔ)言同樣存在語(yǔ)法濫用問(wèn)題。比C慢。大多數(shù)編譯器沒(méi)有把整個(gè)語(yǔ)言對(duì)的的實(shí)現(xiàn)。移植性:比C語(yǔ)言好多了,但仍然不是很樂(lè)觀。由于它含有與C語(yǔ)言相似的缺點(diǎn),大多數(shù)可移植性顧客界面庫(kù)都使用C++對(duì)象實(shí)現(xiàn)。JavaJava是由Sun最初設(shè)計(jì)用于嵌入程序的可移植性“小C++”。在網(wǎng)頁(yè)上運(yùn)行小程序的想法著實(shí)吸引了不少人的目光,于是,這門(mén)語(yǔ)言快速崛起。事實(shí)證明,Java不僅僅適于在網(wǎng)頁(yè)上內(nèi)嵌動(dòng)畫(huà)—它是一門(mén)極好的完全的軟件編程的小語(yǔ)言?!疤摂M機(jī)”機(jī)制、垃圾回收以及沒(méi)有指針等使它很容易實(shí)現(xiàn)不易崩潰且不會(huì)泄漏資源的可靠程序。即使不是C++的正式續(xù)篇,Java從C++中借用了大量的語(yǔ)法。它丟棄了諸多C++的復(fù)雜功效,從而形成一門(mén)緊湊而易學(xué)的語(yǔ)言。不像C++,Java強(qiáng)制面對(duì)對(duì)象編程,要在Java里寫(xiě)非面對(duì)對(duì)象的程序就像要在Pascal里寫(xiě)“空心粉式代碼”同樣困難。優(yōu)點(diǎn):二進(jìn)制碼可移植到其它平臺(tái)。程序能夠在網(wǎng)頁(yè)中運(yùn)行。內(nèi)含的類(lèi)庫(kù)非常原則且極其強(qiáng)健。自動(dòng)分派合垃圾回收避免程序中資源泄漏。網(wǎng)上數(shù)量巨大的代碼例程。缺點(diǎn):使用一種“虛擬機(jī)”來(lái)運(yùn)行可移植的字節(jié)碼而非本地機(jī)器碼,程序?qū)⒈日嬲幾g器慢。有諸多技術(shù)(例如“即時(shí)”編譯器)很大的提高了Java的速度,但是速度永遠(yuǎn)比但是機(jī)器碼方案。早期的功效,如AWT沒(méi)通過(guò)謹(jǐn)慎考慮,即使被正式廢除,但為了保持向后兼容不得不保存。越高級(jí)的技術(shù),造成解決低檔的機(jī)器功效越困難,Sun為這門(mén)語(yǔ)言增加新的“受祝愿”功效的速度實(shí)在太慢。移植性:最佳的,但仍未達(dá)成它本應(yīng)達(dá)成的水平。低檔代碼含有非常高的可移植性,但是,諸多UI及新功效在某些平臺(tái)上不穩(wěn)定。創(chuàng)作工具多數(shù)創(chuàng)作工含有點(diǎn)像VisualBasic,只是它們工作在更高的層次上。大多數(shù)工具使用某些拖拉式的流程圖來(lái)模擬流程控制。諸多內(nèi)置解釋的程序語(yǔ)言,但是這些語(yǔ)言都無(wú)法像上面所說(shuō)的單獨(dú)的語(yǔ)言那樣強(qiáng)健。優(yōu)點(diǎn):快速原型—如果你的游戲符合工具制作的主旨,你或許能使你的游戲跑得比使用其它語(yǔ)言快。在諸多狀況下,你能夠發(fā)明一種不需要任何代碼的簡(jiǎn)樸游戲。使用插件程序,如Shockware及IconAuthor播放器,你能夠在網(wǎng)頁(yè)上公布諸多創(chuàng)作工具生成的程序。缺點(diǎn):專(zhuān)利權(quán),至于將增加什么功效,你將受到工具制造者的支配。你必須考慮這些工具與否能滿足你游戲的需要,由于有諸多事情是那些創(chuàng)作工具無(wú)法完畢的。某些工具會(huì)產(chǎn)生臃腫得可怕的程序。移植性:由于創(chuàng)作工具是含有專(zhuān)利權(quán)的,你的移植性以他們提供的功效息息有關(guān)。有些系統(tǒng),如Director能夠在幾個(gè)平臺(tái)上創(chuàng)作和運(yùn)行,有些工具則在某一平臺(tái)上創(chuàng)作,在多個(gè)平臺(tái)上運(yùn)行,尚有的是僅能在單一平臺(tái)上創(chuàng)作和運(yùn)行。SQL語(yǔ)言構(gòu)造化查詢(xún)語(yǔ)言(StructuredQueryLanguage)簡(jiǎn)稱(chēng)SQL,是一種特殊目的的編程語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng);同時(shí)也是數(shù)據(jù)庫(kù)腳本文獻(xiàn)的擴(kuò)展名。構(gòu)造化查詢(xún)語(yǔ)言是高級(jí)的非過(guò)程化編程語(yǔ)言,允許顧客在高層數(shù)據(jù)構(gòu)造上工作。它不規(guī)定顧客指定對(duì)數(shù)據(jù)的寄存辦法,也不需要顧客理解具體的數(shù)據(jù)寄存方式,因此含有完全不同底層構(gòu)造的不同數(shù)據(jù)庫(kù)系統(tǒng),能夠使用相似的構(gòu)造化查詢(xún)語(yǔ)言作為數(shù)據(jù)輸入與管理的接口。構(gòu)造化查詢(xún)語(yǔ)言語(yǔ)句能夠嵌套,這使它含有極大的靈活性和強(qiáng)大的功效。MQL4語(yǔ)言MetaQuotesLanguage4(MQL4)是一種新的內(nèi)置型程序用來(lái)編寫(xiě)交易方略。這種

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論