計算機語言分類_第1頁
計算機語言分類_第2頁
計算機語言分類_第3頁
計算機語言分類_第4頁
計算機語言分類_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論