第一篇:計(jì)算機(jī)語(yǔ)言教案
授課人:科目:中小學(xué)信息技術(shù) 課題:微型計(jì)算機(jī)的組成 課型:新授課 課時(shí)安排:一課時(shí) 教學(xué)內(nèi)容分析:
本課學(xué)習(xí)的是計(jì)算機(jī)語(yǔ)言,通過(guò)知道計(jì)算機(jī)自身對(duì)自身命令的識(shí)別語(yǔ)言以及人與計(jì)算機(jī)交流時(shí)的語(yǔ)言來(lái)開始對(duì)計(jì)算機(jī)的軟件編程有初步的認(rèn)識(shí)。通過(guò)對(duì)計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)讓同學(xué)們可以更好的更深刻的我們與計(jì)算機(jī)是如何溝通的,從而進(jìn)一步了解計(jì)算機(jī)的工作。教學(xué)方法:
本課采用以講授為主,由簡(jiǎn)單的名詞解釋,距離引導(dǎo)同學(xué)們引入同學(xué)們進(jìn)入語(yǔ)言學(xué)習(xí)。在教學(xué)的各個(gè)階段對(duì)不同的知識(shí)除了加以簡(jiǎn)介對(duì)于重點(diǎn)部分并給以舉例,讓同學(xué)們可以更好的掌握計(jì)算機(jī)語(yǔ)言的知識(shí)以及本節(jié)的重點(diǎn)。教學(xué)目標(biāo):
1.了解計(jì)算機(jī)語(yǔ)言的而定義
2. 掌握計(jì)算機(jī)學(xué)的機(jī)器語(yǔ)言、匯編語(yǔ)言以及高級(jí)語(yǔ)言。教學(xué)重點(diǎn):
1.知道什么是計(jì)算機(jī)語(yǔ)言 2.了解計(jì)算機(jī)語(yǔ)言的分類 教學(xué)過(guò)程:
計(jì)算機(jī)語(yǔ)言的定義:
計(jì)算機(jī)語(yǔ)言(Computer Language)指用于人與計(jì)算機(jī)之間通訊的語(yǔ)言。計(jì)算機(jī)語(yǔ)言是人與計(jì)算機(jī)之間傳遞信息的媒介。計(jì)算機(jī)系統(tǒng)最大特征是指令通過(guò)一種語(yǔ)言傳達(dá)給機(jī)器。為了使電子計(jì)算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計(jì)算機(jī)程序的數(shù)字、字符和語(yǔ)法規(guī)劃,由這些字符和語(yǔ)法規(guī)則組成計(jì)算機(jī)各種指令(或各種語(yǔ)句)。這些就是計(jì)算機(jī)能接受的語(yǔ)言。計(jì)算機(jī)語(yǔ)言主要分為三類: 1.機(jī)器語(yǔ)言
機(jī)器語(yǔ)言是直接用二進(jìn)制代碼指令表達(dá)的計(jì)算機(jī)語(yǔ)言,指令是用0和1組成的一串代碼,它們有一定的位數(shù),并分成若干段,各段的編碼表示不同的含義,例如某臺(tái)計(jì)算機(jī)字長(zhǎng)為16位,即有16個(gè)二進(jìn)制數(shù)組成一條指令或其它信息。16個(gè)0和1可組成各種排列組合,通過(guò)線路變成電信號(hào),讓計(jì)算機(jī)執(zhí)行各種不同的操作。
如某種計(jì)算機(jī)的指令為***0,它表示讓計(jì)算機(jī)進(jìn)行一次加法操作;而指令***0則表示進(jìn)行一次減法操作。它們的前八位表示操作碼,而后八位表示地址碼。從上面兩條指令可以看出,它們只是在操作碼中從左邊第0位算起的第6和第7位不同。這種機(jī)型可包含256(=2的8次方)個(gè)不同的指令。特 點(diǎn):
機(jī)器語(yǔ)言或稱為二進(jìn)制代碼語(yǔ)言,計(jì)算機(jī)可以直接識(shí)別,不需要進(jìn)行任何翻譯。每臺(tái)機(jī)器的指令,其格式和代碼所代表的含義都是硬性規(guī)定的,故稱之為面向機(jī)器的語(yǔ)言,也稱為機(jī)器語(yǔ)言。它是第一代的計(jì)算機(jī)語(yǔ)言。機(jī)器語(yǔ)言對(duì)不同型號(hào)的計(jì)算機(jī)來(lái)說(shuō)一般是不同的。缺 點(diǎn):
1).大量繁雜瑣碎的細(xì)節(jié)牽制著程序員,使他們不可能有更多的時(shí)間和精力去從事創(chuàng)造性的勞動(dòng),執(zhí)行對(duì)他們來(lái)說(shuō)更為重要的任務(wù)。如確保程序的正確性、高效性。
2).程序員既要駕馭程序設(shè)計(jì)的全局又要深入每一個(gè)局部直到實(shí)現(xiàn)的細(xì)節(jié),即使智力超群的程序員也常常會(huì)顧此失彼,屢出差錯(cuò),因而所編出的程序可靠性差,且開發(fā)周期長(zhǎng)。3).由于用機(jī)器語(yǔ)言進(jìn)行程序設(shè)計(jì)的思維和表達(dá)方式與人們的習(xí)慣大相徑庭,只有經(jīng)過(guò)較長(zhǎng)時(shí)間職業(yè)訓(xùn)練的程序員才能勝任,使得程序設(shè)計(jì)曲高和寡。
4).因?yàn)樗臅嫘问饺恰懊堋贝a,所以可讀性差,不便于交流與合作。5).因?yàn)樗鼑?yán)重地依賴于具體的計(jì)算機(jī),所以可移植性差,重用性差。這些弊端造成當(dāng)時(shí)的計(jì)算機(jī)應(yīng)用未能迅速得到推廣。2.匯編語(yǔ)言
匯編語(yǔ)言(Assembly Language)是面向機(jī)器的程序設(shè)計(jì)語(yǔ)言.匯編語(yǔ)言是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言?!皡R編語(yǔ)言”作為一門語(yǔ)言,對(duì)應(yīng)于高級(jí)語(yǔ)言的編譯器,需要一個(gè)“匯編器”來(lái)把匯編語(yǔ)言原文件匯編成機(jī)器可執(zhí)行的代碼。高級(jí)的匯編器如MASM, TASM等等為我們寫匯編程序提供了很多類似于高級(jí)語(yǔ)言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級(jí)語(yǔ)言。現(xiàn)在的匯編環(huán)境已經(jīng)如此高級(jí),即使全部用匯編語(yǔ)言來(lái)編寫windows的應(yīng)用程序也是可行的,但這不是匯編語(yǔ)言的長(zhǎng)處。匯編語(yǔ)言的長(zhǎng)處在于編寫高效且需要對(duì)機(jī)器硬件精確控制的程序。
在匯編語(yǔ)言中,用助記符(Memoni)代替操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替地址碼。這樣用符號(hào)代替機(jī)器語(yǔ)言的二進(jìn)制碼,就把機(jī)器語(yǔ)言變成了匯編語(yǔ)言。因此匯編語(yǔ)言亦稱為符號(hào)語(yǔ)言。
使用匯編語(yǔ)言編寫的程序,機(jī)器不能直接識(shí)別,要由一種程序?qū)R編語(yǔ)言翻譯成機(jī)器語(yǔ)言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語(yǔ)言處理系統(tǒng)軟件。匯編語(yǔ)言把匯編程序翻譯成機(jī)器語(yǔ)言的過(guò)程稱為匯編。
匯編語(yǔ)言比機(jī)器語(yǔ)言易于讀寫、調(diào)試和修改,同時(shí)具有機(jī)器語(yǔ)言全部?jī)?yōu)點(diǎn)。但在編寫復(fù)雜程序時(shí),相對(duì)高級(jí)語(yǔ)言代碼量較大,而且匯編語(yǔ)言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。
匯編語(yǔ)言的特點(diǎn): 1.面向機(jī)器的低級(jí)語(yǔ)言,通常是為特定的計(jì)算機(jī)或系列計(jì)算機(jī)專門設(shè)計(jì)的。2.保持了機(jī)器語(yǔ)言的優(yōu)點(diǎn),具有直接和簡(jiǎn)捷的特點(diǎn)。
3.可有效地訪問(wèn)、控制計(jì)算機(jī)的各種硬件設(shè)備,如磁盤、存儲(chǔ)器、CPU、I/O端口等。4.目標(biāo)代碼簡(jiǎn)短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語(yǔ)言。5.經(jīng)常與高級(jí)語(yǔ)言配合使用,應(yīng)用十分廣泛。匯編語(yǔ)言的應(yīng)用: 1.70%以上的系統(tǒng)軟件是用匯編語(yǔ)言編寫的。
2.某些快速處理、位處理、訪問(wèn)硬件設(shè)備等高效程序是用匯編語(yǔ)言編寫的。3.某些高級(jí)繪圖程序、視頻游戲程序是用匯編語(yǔ)言編寫的。
匯編語(yǔ)言是我們理解整個(gè)計(jì)算機(jī)系統(tǒng)的最佳起點(diǎn)和最有效途徑
人們經(jīng)常認(rèn)為匯編語(yǔ)言的應(yīng)用范圍很小,而忽視它的重要性。其實(shí)匯編語(yǔ)言對(duì)每一個(gè)希望學(xué)習(xí)計(jì)算機(jī)科學(xué)與技術(shù)的人來(lái)說(shuō)都是非常重要的,是不能不學(xué)習(xí)的語(yǔ)言。
所有可編程計(jì)算機(jī)都向人們提供機(jī)器指令,通過(guò)機(jī)器指令人們能夠使用機(jī)器的邏輯功能。所有程序,不論用何種語(yǔ)言編制,都必須轉(zhuǎn)成機(jī)器指令,運(yùn)用機(jī)器的邏輯功能,其功能才能得以實(shí)現(xiàn)。
機(jī)器的邏輯功能,軟件系統(tǒng)功能構(gòu)筑其上,硬件系統(tǒng)功能運(yùn)行于下。
匯編語(yǔ)言直接描述機(jī)器指令,比機(jī)器指令容易記憶和理解。通過(guò)學(xué)習(xí)和使用匯編語(yǔ)言,能夠感知、體會(huì)、理解機(jī)器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實(shí)踐應(yīng)用基礎(chǔ)。
學(xué)習(xí)匯編語(yǔ)言,向上可以理解軟件,向下能夠感知硬件,是我們理解整個(gè)計(jì)算機(jī)系統(tǒng)的最佳起點(diǎn)和最有效途徑。3. 高級(jí)語(yǔ)言:
高級(jí)語(yǔ)言的發(fā)展也經(jīng)歷了從早期語(yǔ)言到結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,從面向過(guò)程到非過(guò)程化程序語(yǔ)言的過(guò)程。相應(yīng)地,軟件的開發(fā)也由最初的個(gè)體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。
計(jì)算機(jī)語(yǔ)言60年代中后期,軟件越來(lái)越多,規(guī)模越來(lái)越大,而軟件的生產(chǎn)基本上是個(gè)自為戰(zhàn),缺乏科學(xué)規(guī)范的系統(tǒng)規(guī)劃與測(cè)試、評(píng)估標(biāo)準(zhǔn),其惡果是大批耗費(fèi)巨資建立起來(lái)的軟件系統(tǒng),由于含有錯(cuò)誤而無(wú)法使用,甚至帶來(lái)巨大損失,軟件給人的感覺(jué)是越來(lái)越不可靠,以致幾乎沒(méi)有不出錯(cuò)的軟件。這一切,極大地震動(dòng)了計(jì)算機(jī)界,史稱“軟件危機(jī)”。人們認(rèn)識(shí)到:大型程序的編制不同于寫小程序,它應(yīng)該是一項(xiàng)新的技術(shù),應(yīng)該像處理工程一樣處理軟件研制的全過(guò)程。程序的設(shè)計(jì)應(yīng)易于保證正確性,也便于驗(yàn)證正確性。1969年,提出了結(jié)構(gòu)化程序設(shè)計(jì)方法,1970年,第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言--Pascal語(yǔ)言出現(xiàn),標(biāo)志著結(jié)構(gòu)化程序設(shè)計(jì)時(shí)期的開始。
80年代初開始,在軟件設(shè)計(jì)思想上,又產(chǎn)生了一次革命,其成果就是面向?qū)ο蟮某绦蛟O(shè)計(jì)。在此之前的高級(jí)語(yǔ)言,幾乎都是面向過(guò)程的,程序的執(zhí)行是流水線似的,在一個(gè)模塊被執(zhí)行完成前,人們不能干別的事,也無(wú)法動(dòng)態(tài)地改變程序的執(zhí)行方向。這和人們?nèi)粘L幚硎挛锏姆绞绞遣灰恢碌?,?duì)人而言是希望發(fā)生一件事就處理一件事,也就是說(shuō),不能面向過(guò)程,而應(yīng)是面向具體的應(yīng)用功能,也就是對(duì)象(Object)。其方法就是軟件的集成化,如同硬件的集成電路一樣,生產(chǎn)一些通用的、封裝緊密的功能模塊,稱之為軟件集成塊,它與具體應(yīng)用無(wú)關(guān),但能相互組合,完成具體的應(yīng)用功能,同時(shí)又能重復(fù)使用。對(duì)使用者來(lái)說(shuō),只關(guān)心它的接口(輸入量、輸出量)及能實(shí)現(xiàn)的功能,至于如何實(shí)現(xiàn)的,那是它內(nèi)部的事,使用者完全不用關(guān)心,C++、Visual Basic、Delphi就是典型代表。
高級(jí)語(yǔ)言的下一個(gè)發(fā)展目標(biāo)是面向應(yīng)用,也就是說(shuō):只需要告訴程序你要干什么,程序就能自動(dòng)生成算法,自動(dòng)進(jìn)行處理,這就是非過(guò)程化的程序語(yǔ)言。編輯本段舉例
計(jì)算機(jī)語(yǔ)言(1)C語(yǔ)言:
/*This is a sample*/ #include
printf(“hello”);}(2)D語(yǔ)言:
module hello.d;import tango.io.Console;
void main(char[][] args){ cout(“hello”).newline;}
(3)Python語(yǔ)言(一種動(dòng)態(tài)語(yǔ)言):
#In Python 2.x print “Hello, World!” #python3.x的是: print(“Hello, World!”)hw = “Hello, World!” for i in range(len(hw)):
print(hw[i], end="")最簡(jiǎn)單的C語(yǔ)言如下所示:
main(){ } 最簡(jiǎn)單的D語(yǔ)言如下所示:
void main(){ }
計(jì)算機(jī)語(yǔ)言簡(jiǎn)言之,常用的計(jì)算機(jī)指令語(yǔ)言分四類:編程語(yǔ)言、網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)語(yǔ)言、架構(gòu)語(yǔ)言。
編程語(yǔ)言是最普遍的指令,俗稱程序設(shè)計(jì)語(yǔ)言。按其發(fā)展階段,分為機(jī)器語(yǔ)言(面向處理機(jī))、匯編語(yǔ)言(面向硬件,比如ASM)、算法語(yǔ)言(面向過(guò)程,比如C、Pascal等),非過(guò)程化語(yǔ)言(面向?qū)ο?,比如Java、C++等),智能語(yǔ)言五大類。
網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,適用于開發(fā)商業(yè)站點(diǎn)的前臺(tái)設(shè)計(jì),最常用的是超文本描述語(yǔ)言,最經(jīng)典的是html。
數(shù)據(jù)庫(kù)語(yǔ)言,又叫結(jié)構(gòu)化查詢語(yǔ)言,適用于windows窗體和網(wǎng)頁(yè)的后臺(tái)數(shù)據(jù)支撐,比如sql、Oracle等。
架構(gòu)語(yǔ)言,本身不是獨(dú)立的學(xué)科,它是由編程語(yǔ)言、數(shù)據(jù)庫(kù)語(yǔ)言、網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言結(jié)合起來(lái)直接針對(duì)項(xiàng)目開發(fā)的語(yǔ)言,比如VB、Visual c#(用過(guò)visual Studio、MyEclipse或Delphi的朋友會(huì)有感觸)等??梢赃@樣理解,架構(gòu)語(yǔ)言屬于編程語(yǔ)言,就是編程語(yǔ)言進(jìn)化到了可以訪問(wèn)數(shù)據(jù)庫(kù)、操作網(wǎng)頁(yè)的更高級(jí)階段。
課后小結(jié): 本課學(xué)習(xí)了計(jì)算機(jī)語(yǔ)言的概念,以及3種計(jì)算機(jī)語(yǔ)言的概念及應(yīng)用,同學(xué)們下來(lái)圍繞計(jì)算機(jī)3種語(yǔ)言的概念及應(yīng)用來(lái)鞏固復(fù)習(xí)這節(jié)課的知識(shí)。
課后作業(yè):復(fù)習(xí)本節(jié)課的內(nèi)容
第二篇:計(jì)算機(jī)語(yǔ)言
計(jì)算機(jī)語(yǔ)言
計(jì)算機(jī)語(yǔ)言(Computer Language)指用于人與計(jì)算機(jī)之間通訊的語(yǔ)言。計(jì)算機(jī)語(yǔ)言是人與計(jì)算機(jī)之間傳遞信息的媒介。計(jì)算機(jī)系統(tǒng)最大特征是指令通過(guò)一種語(yǔ)言傳達(dá)給機(jī)器。為了使電子計(jì)算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計(jì)算機(jī)程序的數(shù)字、字符和語(yǔ)法規(guī)劃,由這些字符和語(yǔ)法規(guī)則組成計(jì)算機(jī)各種指令(或各種語(yǔ)句)。這些就是計(jì)算機(jī)能接受的語(yǔ)言。
1簡(jiǎn)介編輯
計(jì)算機(jī)語(yǔ)言的種類非常的多,總的來(lái)說(shuō)可以分成機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言三大類。電腦每做的一次動(dòng)作,一個(gè)步驟,都是按照已經(jīng)用計(jì)算機(jī)語(yǔ)言編好的程序來(lái)執(zhí)行,程序是計(jì)算機(jī)要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語(yǔ)言來(lái)編寫的。所以人們要控制計(jì)算機(jī)一定要通過(guò)計(jì)算機(jī)語(yǔ)言向計(jì)算機(jī)發(fā)出命令。
(1)解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語(yǔ)言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨(dú)立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動(dòng)態(tài)地調(diào)整、修改應(yīng)用程序。
(2)編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),因此其目標(biāo)程序可以脫離其語(yǔ)言環(huán)境獨(dú)立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒(méi)有源代碼,修改很不方便。如今大多數(shù)的編程語(yǔ)言都是編譯型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi等。[2] 2發(fā)展歷史編輯
二十世紀(jì)四十年代當(dāng)計(jì)算機(jī)剛剛問(wèn)世的時(shí)候,程序員必須手動(dòng)控制計(jì)算機(jī)。當(dāng)時(shí)的計(jì)算機(jī)十分昂貴,唯一想到利用程序設(shè)計(jì)語(yǔ)言來(lái)解決問(wèn)題的人是德國(guó)工程師楚澤(konradzuse)。不久后,計(jì)算機(jī)的價(jià)格大幅度下跌,而計(jì)算機(jī)程序也越來(lái)越復(fù)雜。也就是說(shuō),開發(fā)時(shí)間已經(jīng)遠(yuǎn)比運(yùn)行時(shí)間來(lái)得寶貴。于是,新的集成、可視的開發(fā)環(huán)境越來(lái)越流行。它們減少了所付出的時(shí)間、金錢(以及腦細(xì)胞)。只要輕敲幾個(gè)鍵,一整段代碼就可以使用了。這也得益于可以重用的程序代碼庫(kù)。隨著c,pascal,fortran,等結(jié)構(gòu)化高級(jí)語(yǔ)言的誕生,使程序員可以離開機(jī)器層次,在更抽象的層次上表達(dá)意圖。由此誕生的三種重要控制結(jié)構(gòu),以及一些基本數(shù)據(jù)類型都能夠很好的開始讓程序員以接近問(wèn)題本質(zhì)的方式去思考和描述問(wèn)題。隨著程序規(guī)模的不斷擴(kuò)大,在60年代末期出現(xiàn)了軟件危機(jī),在當(dāng)時(shí)的程序設(shè)計(jì)模型中都無(wú)法克服錯(cuò)誤隨著代碼的擴(kuò)大而級(jí)數(shù)般的擴(kuò)大,以至到了無(wú)法控制的地步,這個(gè)時(shí)候就出現(xiàn)了一種新的思考程序設(shè)計(jì)方式和程序設(shè)計(jì)模型-----面向?qū)ο蟪绦蛟O(shè)計(jì),由此也誕生了一批支持此技術(shù)的程序設(shè)計(jì)語(yǔ)言,比如eiffel,c++,java,這些語(yǔ)言都以新的觀點(diǎn)去看待問(wèn)題,即問(wèn)題就是由各種不同屬性的對(duì)象以及對(duì)象之間的消息傳遞構(gòu)成。面向?qū)ο笳Z(yǔ)言由此必須支持新的程序設(shè)計(jì)技術(shù),例如:數(shù)據(jù)隱藏,數(shù)據(jù)抽象,用戶定義類型,繼承,多態(tài)等等。[3] 現(xiàn)狀
如今通用的編程語(yǔ)言有兩種形式:匯編語(yǔ)言和高級(jí)語(yǔ)言。
計(jì)算機(jī)語(yǔ)言 匯編語(yǔ)言的和機(jī)器語(yǔ)言實(shí)質(zhì)是相同的,都是直接對(duì)硬件操作,只不過(guò)指令采用了英文縮寫的標(biāo)識(shí)符,容易識(shí)別和記憶。源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。
高級(jí)語(yǔ)言是絕大多數(shù)編程者的選擇。和匯編語(yǔ)言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無(wú)關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡(jiǎn)化了程序中的指令。同時(shí),由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識(shí)。
高級(jí)語(yǔ)言主要是相對(duì)于低級(jí)語(yǔ)言而言,它并不是特指某一種具體的語(yǔ)言,而是包括了很多編程語(yǔ)言,如流行的vb、vc、foxpro、delphi等,這些語(yǔ)言的語(yǔ)法、命令格式都各不相同。
高級(jí)語(yǔ)言所編制的程序不能直接被計(jì)算機(jī)識(shí)別,必須經(jīng)過(guò)轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:解釋類和編譯類。[4] 趨勢(shì)
面向?qū)ο蟪绦蛟O(shè)計(jì)以及數(shù)據(jù)抽象在現(xiàn)代程序設(shè)計(jì)思想中占有很重要的地位,未來(lái)語(yǔ)言的發(fā)展將不在是一種單純的語(yǔ)言標(biāo)準(zhǔn),將會(huì)以一種完全面向?qū)ο螅妆磉_(dá)現(xiàn)實(shí)世界,更易為人編寫,其使用
計(jì)算機(jī)語(yǔ)言 將不再只是專業(yè)的編程人員,人們完全可以用訂制真實(shí)生活中一項(xiàng)工作流程的簡(jiǎn)單方式來(lái)完成編程。
簡(jiǎn)單性:提供最基本的方法來(lái)完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。
面向?qū)ο螅禾峁┖?jiǎn)單的類機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝狀態(tài)變量以及相應(yīng)的方法,實(shí)現(xiàn)了模塊化和信息隱藏;提供了一類對(duì)象的原型,并且通過(guò)繼承機(jī)制,子類可以使用父類所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。
安全性:用于網(wǎng)絡(luò)、分布環(huán)境下有安全機(jī)制保證。
平臺(tái)無(wú)關(guān)性:與平臺(tái)無(wú)關(guān)的特性使程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器、不同平臺(tái)。[5] 計(jì)算機(jī)語(yǔ)言之父
計(jì)算機(jī)語(yǔ)言之父
“計(jì)算機(jī)語(yǔ)言之父”尼蓋德幫助因特網(wǎng)奠下了基礎(chǔ),為計(jì)算機(jī)業(yè)做出了巨大貢獻(xiàn)。
尼蓋德是奧斯陸大學(xué)的教授,因?yàn)榘l(fā)展了simula編程語(yǔ)言,為ms-dos和因特網(wǎng)打下了基礎(chǔ)而享譽(yù)國(guó)際??死锼雇?尼蓋德于1926年在奧斯陸出生,1956年畢業(yè)于奧斯陸大學(xué)并取得數(shù)學(xué)碩士學(xué)位,此后致力于計(jì)算機(jī)計(jì)算與編程研究。1961年~1967年,尼蓋德在挪威計(jì)算機(jī)中心工作,參與開發(fā)了面向?qū)ο蟮木幊陶Z(yǔ)言。因?yàn)楸憩F(xiàn)出色,2001年,尼蓋德和同事奧爾?約安?達(dá)爾獲得了2001年a.m.圖靈機(jī)獎(jiǎng)及其它多個(gè)獎(jiǎng)項(xiàng)。當(dāng)時(shí)為尼蓋德頒獎(jiǎng)的計(jì)算機(jī)協(xié)會(huì)認(rèn)為他們的工作為java,c++等編程語(yǔ)言在個(gè)人電腦和家庭娛樂(lè)裝置的廣泛應(yīng)用掃清了道路,“他們的工作使軟件系統(tǒng)的設(shè)計(jì)和編程發(fā)生了基本改變,可循環(huán)使用的、可靠的、可升級(jí)的軟件也因此得以面世?!?/p>
尼蓋德因其卓越的貢獻(xiàn),而被譽(yù)為“計(jì)算機(jī)語(yǔ)言之父”,其對(duì)計(jì)算機(jī)語(yǔ)言發(fā)展趨勢(shì)的掌握和認(rèn)識(shí),以及投身于計(jì)算機(jī)語(yǔ)言事業(yè)發(fā)展的精神都將激勵(lì)我們向著計(jì)算機(jī)語(yǔ)言無(wú)比燦爛的明天前進(jìn)。[6] 3分類編輯
低級(jí)語(yǔ)言
機(jī)器語(yǔ)言、匯編語(yǔ)言和符號(hào)語(yǔ)言。
匯編語(yǔ)言源程序必須經(jīng)過(guò)匯編,生成目標(biāo)文件,然后執(zhí)行。[1] 專用語(yǔ)言
CAD系統(tǒng)中的繪圖語(yǔ)言和DBMS的數(shù)據(jù)庫(kù)查詢語(yǔ)言。
機(jī)器語(yǔ)言
機(jī)器語(yǔ)言是指一臺(tái)計(jì)算機(jī)全部的指令集合
電子計(jì)算機(jī)所使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計(jì)算
計(jì)算機(jī)語(yǔ)言
機(jī)的語(yǔ)言的基礎(chǔ)。計(jì)算機(jī)發(fā)明之初,人們只能降貴紆尊,用計(jì)算機(jī)的語(yǔ)言去命令計(jì)算機(jī)干這干那,一句話,就是寫出一串串由“0”和“1”組成的指令序列交由計(jì)算機(jī)執(zhí)行,這種計(jì)算機(jī)能夠認(rèn)識(shí)的語(yǔ)言,就是機(jī)器語(yǔ)言。使用機(jī)器語(yǔ)言是十分痛苦的,特別是在程序有錯(cuò)需要修改時(shí),更是如此。
因此程序就是一個(gè)個(gè)的二進(jì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)行了一種有益的改進(jìn):用一些簡(jiǎn)潔的英文字母、符號(hào)串來(lái)替代一個(gè)特定的指令的二進(jìn)制串,比如,用“ADD”代表加法,“MOV”代表數(shù)據(jù)傳遞等等,這樣一來(lái),人們很容易讀懂并理解程序在干什么,糾錯(cuò)及維護(hù)都變得方便了,這種程序設(shè)計(jì)語(yǔ)言就稱為匯編語(yǔ)言,即第二代計(jì)算機(jī)語(yǔ)言。然而計(jì)算機(jī)是不認(rèn)識(shí)這些符號(hào)的,這就需要一個(gè)專門的程序,專門負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制數(shù)的機(jī)器語(yǔ)言,這種翻譯程序被稱為匯編程序。匯編語(yǔ)言同樣十分依賴于機(jī)器硬件,移植性不好,但效率仍十分高,針對(duì)計(jì)算機(jī)特定硬件而編制的匯編語(yǔ)言程序,能準(zhǔn)確發(fā)揮計(jì)算機(jī)硬件的功能和特長(zhǎng),程序精煉而質(zhì)量高,所以至今仍是一種常用而強(qiáng)有力的軟件開發(fā)工具。[1] 匯編語(yǔ)言的實(shí)質(zhì)和機(jī)器語(yǔ)言是相同的,都是直接對(duì)硬件操作,只不過(guò)指令采用了英文縮寫的標(biāo)識(shí)符,更容易識(shí)別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來(lái)。
匯編程序的每一句指令只能對(duì)應(yīng)實(shí)際操作過(guò)程中的一個(gè)很細(xì)微的動(dòng)作,例如移動(dòng)、自增,因此匯編源程序一般比較冗長(zhǎng)、復(fù)雜、容易出錯(cuò),而且使用匯編語(yǔ)言編程需要有更多的計(jì)算機(jī)專業(yè)知識(shí),但匯編語(yǔ)言的優(yōu)點(diǎn)也是顯而易見的,用匯編語(yǔ)言所能完成的操作不是一般高級(jí)語(yǔ)言所能實(shí)現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。[4] 高級(jí)語(yǔ)言
高級(jí)語(yǔ)言有:BASIC(True basic、Qbasic、Virtual Basic)、C、計(jì)算機(jī)語(yǔ)言
C++、PASCAL、FORTRAN、智能化語(yǔ)言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、動(dòng)態(tài)語(yǔ)言(Python、PHP、Ruby、Lua)等等。-高級(jí)語(yǔ)言源程序可以用解釋、編譯兩種方式執(zhí)行。通常用后一種。[1] 高級(jí)語(yǔ)言是絕大多數(shù)編程者的選擇。和匯編語(yǔ)言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令并且去掉了與具體操作有關(guān)但與完成工作無(wú)關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡(jiǎn)化了程序中的指令。由于省略了很多細(xì)節(jié),所以編程者也不需要具備太多的專業(yè)知識(shí)。高級(jí)語(yǔ)言主要是相對(duì)于匯編語(yǔ)言而言,它并不是特指某一種具體的語(yǔ)言,而是包括了很多編程語(yǔ)言,流行的VB、VC、FoxPro、Delphi等,這些語(yǔ)言的語(yǔ)法、命令格式都各不相同。[4] 高級(jí)語(yǔ)言的發(fā)展
特別要提到的:在C語(yǔ)言誕生以前,系統(tǒng)軟件主要是用匯編語(yǔ)言編寫的
計(jì)算機(jī)語(yǔ)言
。由于匯編語(yǔ)言程序依賴于計(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ǔ)言到結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,從面向過(guò)程到非過(guò)程化程序語(yǔ)言的過(guò)程。相應(yīng)地,軟件的開發(fā)也由最初的個(gè)體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。
高級(jí)語(yǔ)言的下一個(gè)發(fā)展目標(biāo)是面向應(yīng)用,也就是說(shuō):只需要告訴程序你要干什么,程序就能自動(dòng)生成算法,自動(dòng)進(jìn)行處理,這就是非過(guò)程化的程序語(yǔ)言。[1] 4常見語(yǔ)言編輯
C語(yǔ)言 C語(yǔ)言是Dennis Ritchie在七十年代創(chuàng)建的,它功能更強(qiáng)大
計(jì)算機(jī)語(yǔ)言
且與ALGOL保持更連續(xù)的繼承性,而ALGOL則是COBOL和FORTRAN的結(jié)構(gòu)化繼承者。C語(yǔ)言被設(shè)計(jì)成一個(gè)比它的前輩更精巧、更簡(jiǎn)單的版本,它適于編寫系統(tǒng)級(jí)的程序,比如操作系統(tǒng)。在此之前,操作系統(tǒng)是使用匯編語(yǔ)言編寫的,而且不可移植。C語(yǔ)言是第一個(gè)使得系統(tǒng)級(jí)代碼移植成為可能的編程語(yǔ)言。
優(yōu)點(diǎn):有益于編寫小而快的程序。很容易與匯編語(yǔ)言結(jié)合。具有很高的標(biāo)準(zhǔn)化,因此其他平臺(tái)上的各版本非常相似。
缺點(diǎn):不容易支持面向?qū)ο蠹夹g(shù)。語(yǔ)法有時(shí)會(huì)非常難以理解,并造成濫用。
移植性:C語(yǔ)言的核心以及ANSI函數(shù)調(diào)用都具有移植性,但僅限于流程控制、內(nèi)存管理和簡(jiǎn)單的文件處理。其他的東西都跟平臺(tái)有關(guān)。比如說(shuō),為Windows和Mac開發(fā)可移植的程序,用戶界面部分就需要用到與系統(tǒng)相關(guān)的函數(shù)調(diào)用。這一般意味著你必須寫兩次用戶界面代碼,不過(guò)還好有一些庫(kù)可以減輕工作量。[7] C++ C++語(yǔ)言是具有面向?qū)ο筇匦缘腃語(yǔ)言的繼承者。面向?qū)ο缶幊?,或稱OOP是結(jié)構(gòu)化編程的下一步。OO程序由對(duì)象組成,其中的對(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ǔ)言好得多。很好的支持面向?qū)ο髾C(jī)制。通用數(shù)據(jù)結(jié)構(gòu),如鏈表和可增長(zhǎng)的陣列組成的庫(kù)減輕了由于處理低層細(xì)節(jié)的負(fù)擔(dān)。
缺點(diǎn):非常大而復(fù)雜。與C語(yǔ)言一樣存在語(yǔ)法濫用問(wèn)題。比C慢。大多數(shù)編譯器沒(méi)有把整個(gè)語(yǔ)言正確的實(shí)現(xiàn)。
移植性:比C語(yǔ)言好多了,但依然不是很樂(lè)觀。因?yàn)樗哂信cC語(yǔ)言相同的缺點(diǎn),大多數(shù)可移植性用戶界面庫(kù)都使用C++對(duì)象實(shí)現(xiàn)。[7] 匯編語(yǔ)言
匯編是第一個(gè)計(jì)算機(jī)語(yǔ)言。匯編語(yǔ)言實(shí)際上是你計(jì)算機(jī)處理器實(shí)際運(yùn)行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語(yǔ)且有相關(guān)的自我說(shuō)
計(jì)算機(jī)語(yǔ)言
明的語(yǔ)言,這不是你想要的。特別注意:語(yǔ)言的名字叫“匯編”。把匯編語(yǔ)言翻譯成真實(shí)的機(jī)器碼的工具叫“匯編程序”。把這門語(yǔ)言叫做“匯編程序”這種用詞不當(dāng)相當(dāng)普遍,因此,請(qǐng)從這門語(yǔ)言的正確稱呼作為起點(diǎn)出發(fā)。
優(yōu)點(diǎn):最小、最快的語(yǔ)言。匯編高手能編寫出比任何其他語(yǔ)言能實(shí)現(xiàn)的快得多的程序。你將是利用處理器最新功能的第一人,因?yàn)槟隳苤苯邮褂盟鼈儭?/p>
缺點(diǎn):難學(xué)、語(yǔ)法晦澀、堅(jiān)持效率,造成大量額外代碼—不適于心臟虛弱者。移植性:接近零。因?yàn)檫@門語(yǔ)言是為一種單獨(dú)的處理器設(shè)計(jì)的,根本沒(méi)移植性可言。如果使用了某個(gè)特殊處理器的擴(kuò)展功能,你的代碼甚至無(wú)法移植到其他同類型的處理器上(比如,AMD的3DNow指令是無(wú)法移植到其它奔騰系列的處理器上的)。[7] Pascal語(yǔ)言
Pascal語(yǔ)言是由NicolasWirth在七十年代早期設(shè)計(jì)的,因?yàn)樗麑?duì)于FORTRAN和COBOL沒(méi)有強(qiáng)制訓(xùn)練學(xué)生的結(jié)構(gòu)化編程感到很失望,“空心粉式代碼”變成了規(guī)范,而當(dāng)時(shí)的語(yǔ)言又不反對(duì)它。Pascal被設(shè)計(jì)來(lái)強(qiáng)行使用結(jié)構(gòu)化編程。最初的Pascal被嚴(yán)格設(shè)計(jì)成教學(xué)之用,最終,大量的擁護(hù)者促使它闖入了商業(yè)編程中。當(dāng)Borland發(fā)布IBMPC上的TurboPascal時(shí),Pascal輝煌一時(shí)。集成的編輯器,閃電般的編譯器加上低廉的價(jià)格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語(yǔ)言。然而時(shí)日不久,C編譯器變得更快,并具有優(yōu)秀的內(nèi)置編輯器和調(diào)試器。Pascal在1990年Windows開始流行時(shí)走到了盡頭,Borland放棄了Pascal而把目光轉(zhuǎn)向了為Windows編寫程序的C++。TurboPascal很快被人遺忘。
基本上,Pascal比C簡(jiǎn)單。雖然語(yǔ)法類似,它缺乏很多C有的簡(jiǎn)潔操作符。這既是好事又是壞事。雖然很難寫出難以理解的“聰明”代碼,它同時(shí)也使得一些低級(jí)操作,如位操作變得困難起來(lái)。
優(yōu)點(diǎn):易學(xué)、平臺(tái)相關(guān)的運(yùn)行(Dephi)非常好。
缺點(diǎn):“世界潮流”面向?qū)ο蟮腜ascal繼承者(Modula、Oberon)尚未成功。語(yǔ)言標(biāo)準(zhǔn)不
計(jì)算機(jī)語(yǔ)言
被編譯器開發(fā)者認(rèn)同。
.移植性:很差。語(yǔ)言的功能由于平臺(tái)的轉(zhuǎn)變而轉(zhuǎn)變,沒(méi)有移植性工具包來(lái)處理平臺(tái)相關(guān)的功能。[7] VisualBasic 優(yōu)點(diǎn):整潔的編輯環(huán)境。易學(xué)、即時(shí)編譯導(dǎo)致簡(jiǎn)單、迅速的原型。大量可用的插件。雖然有第三方的DirectX插件,DirectX7已準(zhǔn)備提供VisualBasic的支持。
缺點(diǎn):程序很大,而且運(yùn)行時(shí)需要幾個(gè)巨大的運(yùn)行時(shí)動(dòng)態(tài)連接庫(kù)。雖然表單型和對(duì)話框型的程序很容易完成,要編寫好的圖形程序卻比較難。調(diào)用Windows的API程序非常笨拙,因?yàn)閂B的數(shù)據(jù)結(jié)構(gòu)沒(méi)能很好的映射到C中。有OO功能,但卻不是完全的面向?qū)ο蟆?/p>
移植性:非常差。因?yàn)閂isualBasic是微軟的產(chǎn)品,你自然就被局限在他們實(shí)現(xiàn)它的平臺(tái)上。[7] Java Java是由Sun最初設(shè)計(jì)用于嵌入程序的可移植性“小C++”。在網(wǎng)頁(yè)上運(yùn)行小程序的想法著實(shí)吸引了不少人的目光,于是,這門語(yǔ)言迅速崛起。事實(shí)證明,Java不僅僅適于在網(wǎng)頁(yè)上內(nèi)嵌動(dòng)畫—它是一門極好的完全的軟件編程的小語(yǔ)言?!疤摂M機(jī)”機(jī)制、垃圾回收以及沒(méi)有指針等使它很容易實(shí)現(xiàn)不易崩潰且不會(huì)泄漏資源的可靠程序。
計(jì)算機(jī)語(yǔ)言
雖然不是C++的正式續(xù)篇,Java從C++中借用了大量的語(yǔ)法。它丟棄了很多C++的復(fù)雜功能,從而形成一門緊湊而易學(xué)的語(yǔ)言。不像C++,Java強(qiáng)制面向?qū)ο缶幊?,要在Java里寫非面向?qū)ο蟮某绦蚓拖褚赑ascal里寫“空心粉式代碼”一樣困難。
優(yōu)點(diǎn):二進(jìn)制碼可移植到其他平臺(tái)。程序可以在網(wǎng)頁(yè)中運(yùn)行。內(nèi)含的類庫(kù)非常標(biāo)準(zhǔn)且極其健壯。自動(dòng)分配合垃圾回收避免程序中資源泄漏。網(wǎng)上數(shù)量巨大的代碼例程。
缺點(diǎn):使用一個(gè)“虛擬機(jī)”來(lái)運(yùn)行可移植的字節(jié)碼而非本地機(jī)器碼,程序?qū)⒈日嬲幾g器慢。有很多技術(shù)(例如“即時(shí)”編譯器)很大的提高了Java的速度,不過(guò)速度永遠(yuǎn)比不過(guò)機(jī)器碼方案。早期的功能,如AWT沒(méi)經(jīng)過(guò)慎重考慮,雖然被正式廢除,但為了保持向后兼容不得不保留。越高級(jí)的技術(shù),造成處理低級(jí)的機(jī)器功能越困難,Sun為這門語(yǔ)言增加新的“受祝?!惫δ艿乃俣葘?shí)在太慢。
移植性:最好的,但仍未達(dá)到它本應(yīng)達(dá)到的水平。低級(jí)代碼具有非常高的可移植性,但是,很多UI及新功能在某些平臺(tái)上不穩(wěn)定。[7] 創(chuàng)作工具
多數(shù)創(chuàng)作工具有點(diǎn)像VisualBasic,只是它們工作在更高的層次上。大多數(shù)工具使用一些拖拉式的流程圖來(lái)模擬流程控制。很多內(nèi)置解釋的程序語(yǔ)言,但是這些語(yǔ)言都無(wú)法像上面所說(shuō)的單獨(dú)的語(yǔ)言那樣健壯。優(yōu)點(diǎn):快速原型—如果你的游戲符合工具制作的主旨,你或許能使你的游戲跑得比使用其他
計(jì)算機(jī)語(yǔ)言
語(yǔ)言快。在很多情況下,你可以創(chuàng)造一個(gè)不需要任何代碼的簡(jiǎn)單游戲。使用插件程序,如Shockware及IconAuthor播放器,你可以在網(wǎng)頁(yè)上發(fā)布很多創(chuàng)作工具生成的程序。
缺點(diǎn):專利權(quán),至于將增加什么功能,你將受到工具制造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因?yàn)橛泻芏嗍虑槭悄切﹦?chuàng)作工具無(wú)法完成的。某些工具會(huì)產(chǎn)生臃腫得可怕的程序。
移植性:因?yàn)閯?chuàng)作工具是具有專利權(quán)的,你的移植性以他們提供的功能息息相關(guān)。有些系統(tǒng),如Director可以在幾種平臺(tái)上創(chuàng)作和運(yùn)行,有些工具則在某一平臺(tái)上創(chuàng)作,在多種平臺(tái)上運(yùn)行,還有的是僅能在單一平臺(tái)上創(chuàng)作和運(yùn)行。[7] C# C#是一種精確、簡(jiǎn)單、類型安全、面向?qū)ο蟮恼Z(yǔ)言。其是.Net的代表性語(yǔ)言。什么是.Net呢?按照微軟總裁兼首席執(zhí)行官Steve Ballmer把它定義為:.Net代表一個(gè)集合,一個(gè)環(huán)境,它可以作為平臺(tái)支持下一代Internet的可編程結(jié)構(gòu)。
C#的特點(diǎn):
1.完全面向?qū)ο蟆?.支持分布式。
3.自動(dòng)管理內(nèi)存機(jī)制。
4.安全性和可移植性。
5.指針的受限使用。
6.多線程。和Java類似,C#可以由一個(gè)主進(jìn)程分出多個(gè)執(zhí)行小系統(tǒng)的多線程。
C#是在Java流行起來(lái)后所誕生的一種新的程序開發(fā)語(yǔ)言。[7] 5特點(diǎn)編輯
在沒(méi)有程序語(yǔ)言以前,計(jì)算機(jī)科學(xué)家們寫程序都是以開關(guān)電
計(jì)算機(jī)語(yǔ)言
閘(即用二進(jìn)制)來(lái)實(shí)現(xiàn)(表示)的,后來(lái)有了匯編,在后來(lái)有了C,直到今天有了C++、JAVA、VB、Delphi等等各種各樣的編程語(yǔ)言層出不窮。可就在計(jì)算機(jī)語(yǔ)言不斷的演化過(guò)程中,每一種語(yǔ)言都有一些共性是不變的.。這些共性可概括為以下三點(diǎn): 其一是:內(nèi)存電位的設(shè)置.(置1或0)其二是:條件判斷(if,else)該功能可通過(guò)邏輯門實(shí)現(xiàn).其三是:循環(huán),也就是程序下一條指令地址可設(shè)置。[8] 詞條圖冊(cè)更多圖冊(cè)
◆
詞條圖片(14張)
第三篇:計(jì)算機(jī)語(yǔ)言工作總結(jié)
計(jì)算機(jī)室工作總結(jié)
本學(xué)年在學(xué)校整體工作計(jì)劃的指導(dǎo)下,我負(fù)責(zé)微機(jī)室管理工作。學(xué)期臨近結(jié)束,回顧這個(gè)學(xué)期所從事的微機(jī)室管理工作,基本上是比較順利地完成任務(wù)。當(dāng)然在工作中我享受到收獲喜悅,也在工作中發(fā)現(xiàn)一些存在的問(wèn)題?,F(xiàn)將本學(xué)期計(jì)算機(jī)室所做的工作總結(jié)如下:
一、加強(qiáng)管理,確保機(jī)器正常運(yùn)行。
開學(xué)初,首先從管理制度上著手,對(duì)學(xué)生進(jìn)行了微機(jī)室制度的學(xué)習(xí)。要求每位學(xué)生上課時(shí)先對(duì)號(hào)入座,并檢查好自己所用的那臺(tái)計(jì)算機(jī)的鍵盤、鼠標(biāo)、顯示器、主機(jī)、桌椅等是否有損壞,有任何問(wèn)題馬上報(bào)告教師。
二、上課期間管理。
上課過(guò)程中監(jiān)督好每位學(xué)生的使用情況,如有不按要求練習(xí),而是去運(yùn)行其它軟件或進(jìn)行其它操作的,馬上給予批評(píng)警告,以防止學(xué)生亂刪除,亂操作,導(dǎo)致計(jì)算機(jī)系統(tǒng)崩潰現(xiàn)象。
三、加強(qiáng)衛(wèi)生管理。
灰塵是微機(jī)的天敵。微機(jī)室出入學(xué)生眾多,衛(wèi)生就難管得多。為搞好清潔衛(wèi)生,微機(jī)室每周都進(jìn)行徹底的衛(wèi)生清掃。
四、用電安全管理。
各種機(jī)器設(shè)備電源接插件,不準(zhǔn)隨便移動(dòng)。若出現(xiàn)故障,立即關(guān)閉電源,停止使用,由老師處理,嚴(yán)禁硬性操作和私自拆修。
當(dāng)然,這些工作是遠(yuǎn)遠(yuǎn)不夠的,還需要繼續(xù)努力,加強(qiáng)管理,為我校信息教育技術(shù)更上一個(gè)新臺(tái)階。
總之,信息技術(shù)是一門不斷發(fā)展的學(xué)科,展望學(xué)校的發(fā)展和學(xué)科的發(fā)展,還有許多知識(shí)要學(xué),還有許多事情要做。在今后的教育教學(xué)工作中,努力工作,發(fā)揚(yáng)優(yōu)點(diǎn),改正缺點(diǎn),開拓前進(jìn),爭(zhēng)取取得更大的進(jìn)步。
第四篇:計(jì)算機(jī)語(yǔ)言—適合初學(xué)者
您如果是計(jì)算機(jī)語(yǔ)言初學(xué)者,并且立志成為一名軟件工程師,必定會(huì)遇到編程語(yǔ)言選擇的困惑,尤其對(duì)在校大學(xué)生來(lái)說(shuō)更是如此。
千里之行,始于足下;差之毫厘,謬以千里;開始對(duì)編程語(yǔ)言的選擇應(yīng)該是謹(jǐn)慎的和重要的。我將對(duì)軟件行業(yè)的特色和就業(yè)情況給大家介紹,希望能給大家對(duì)自己的選擇提供更加準(zhǔn)確的參考。
編程語(yǔ)言類型劃分
首先我們來(lái)了解一下編程語(yǔ)言的分類:
1)從語(yǔ)言的等級(jí)劃分:匯編語(yǔ)言和高級(jí)語(yǔ)言
匯編語(yǔ)言:實(shí)質(zhì)和機(jī)器語(yǔ)言是相同的,都是直接對(duì)硬件操作。它需要編程者將每一步具體的操作用命令的形式寫出來(lái)。匯編程序的每一句指令只能對(duì)應(yīng)實(shí)際操作過(guò)程中的一個(gè)很細(xì)微的動(dòng)作。匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。高級(jí)的匯編器如MASM, TASM等等。
高級(jí)語(yǔ)言:目前絕大多數(shù)編程者的選擇。和匯編語(yǔ)言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無(wú)關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡(jiǎn)化了程序中的指令。同時(shí),由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識(shí)。
2)從語(yǔ)言的執(zhí)行方式劃分:解釋語(yǔ)言和編譯語(yǔ)言
解釋語(yǔ)言:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語(yǔ)言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨(dú)立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動(dòng)態(tài)地調(diào)整、修改應(yīng)用程序。例如Basic。腳本語(yǔ)言是一種解釋性的語(yǔ)言,例如Vbscript、Javascript、Perl、Python等等。腳本語(yǔ)言就是以文本方式存在的語(yǔ)言。
編譯語(yǔ)言:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),因此其目標(biāo)程序可以脫離其語(yǔ)言環(huán)境獨(dú)立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒(méi)有源代碼,修改很不方便?,F(xiàn)在大多數(shù)的編程語(yǔ)言都是編譯型的,例如:C、C++、Delphi等。
Java很特殊,Java程序也需要編譯,但是沒(méi)有直接編譯稱為機(jī)器語(yǔ)言,而是編譯成為偽碼,然后用解釋方執(zhí)行字節(jié)碼。
3)從面向?qū)ο髣澐郑航Y(jié)構(gòu)化語(yǔ)言和面向?qū)ο笳Z(yǔ)言
面向過(guò)程和面向?qū)ο?,這是兩種思想。C、Pascal等語(yǔ)言是面向過(guò)程的編程語(yǔ)言,C的開發(fā)通常會(huì)大量定義函數(shù)和結(jié)構(gòu)體。
面向?qū)ο蠓椒?Object-Oriented Method)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過(guò)程中,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法,簡(jiǎn)稱OO(Object-Oriented)方法。就是基于對(duì)象概念,以對(duì)象為中心,以類和繼承為構(gòu)造機(jī)制,來(lái)認(rèn)識(shí)、理解、刻畫客觀世界和設(shè)計(jì)、構(gòu)建相應(yīng)的軟件系統(tǒng)。Java、C++屬面向?qū)ο笳Z(yǔ)言。
總的說(shuō)來(lái),結(jié)構(gòu)化語(yǔ)言以業(yè)務(wù)的處理流程來(lái)思考,重在每個(gè)步驟功能問(wèn)題;面向?qū)ο笳Z(yǔ)言以對(duì)象的屬性和行為來(lái)思考,重在抽象和對(duì)象間的協(xié)作問(wèn)題。
數(shù)據(jù)庫(kù)結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)是為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)開發(fā)的一種查詢語(yǔ)言。SQL語(yǔ)言,得到了廣泛的應(yīng)用。如今無(wú)論是像Oracle ,Sybase,Informix, SQL server這些大型的數(shù)據(jù)庫(kù)管理系統(tǒng),還是像Visual Foxporo,PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng),都支持 SQL語(yǔ)言作為查詢語(yǔ)言。
SQL與其它高級(jí)語(yǔ)言的選擇并不沖突,反而是緊密結(jié)合的。如果你的應(yīng)用軟件無(wú)論用到哪種高級(jí)編程語(yǔ)言來(lái)開發(fā),如果軟件中使用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),那么SQL的運(yùn)用是必不可少的。
編程語(yǔ)言排行榜
以上介紹了編程語(yǔ)言的分類,現(xiàn)在我們來(lái)關(guān)注一下世界2008年4月 TIOBE 編程語(yǔ)言排行榜,讓我們一起感受一下前沿最新動(dòng)態(tài)。
編程語(yǔ)言應(yīng)用領(lǐng)域
現(xiàn)流行的編程語(yǔ)言不存在好和不好的說(shuō)法,不同軟件系統(tǒng),應(yīng)該運(yùn)用合適的語(yǔ)言,殺雞焉用牛刀,就是這個(gè)道理。
根據(jù)以上編程語(yǔ)言排名情況,簡(jiǎn)要概述Java、C、Visual Basic、PHP、C++、C#、Delphi語(yǔ)言的開發(fā)應(yīng)用領(lǐng)域。
1)Java開發(fā)應(yīng)用領(lǐng)域
調(diào)查顯示,Web應(yīng)用57.9%,C/S應(yīng)用占11.7%;移動(dòng)或嵌入式應(yīng)用占15.0%;系統(tǒng)編程占15.4。從開發(fā)領(lǐng)域的分布情況上看Web開發(fā)占了一半以上。
Java的主要應(yīng)用場(chǎng)景是企業(yè)應(yīng)用開發(fā)。JavaEE在長(zhǎng)期的發(fā)展和演化之后,已經(jīng)成為開發(fā)Web應(yīng)用的可靠工具。整體而言,Java技術(shù)已經(jīng)非常成熟,達(dá)到了應(yīng)用的高峰期。
2)C語(yǔ)言的應(yīng)用范圍
C語(yǔ)言的應(yīng)用范圍很廣,從底層的嵌入式系統(tǒng)、工業(yè)控制、智能儀表、編譯器、硬件驅(qū)動(dòng),到高層的行業(yè)軟件后臺(tái)服務(wù)、中間件等等。
3)Visual Basic的各種應(yīng)用 :控件使用、界面設(shè)計(jì)、文字及文件處理、圖形處理、多媒體應(yīng)用、操作系統(tǒng)和數(shù)據(jù)庫(kù)等各方面的實(shí)際應(yīng)用。
4)PHP在互聯(lián)網(wǎng)高速發(fā)展的今天,應(yīng)用量可謂是非常廣泛,不知道大家有沒(méi)關(guān)注過(guò)PHP的應(yīng)用領(lǐng)域,我先發(fā)表下我的個(gè)人看法。php的應(yīng)用領(lǐng)域大致分為以下幾點(diǎn):
中小型網(wǎng)站(我想是占了超過(guò)80%份額);
大型網(wǎng)站的業(yè)務(wù)邏輯結(jié)果展示(在百度,雅虎,新浪中都可以見到類似應(yīng)用);
WEB辦公,管理系統(tǒng)(多應(yīng)用于企業(yè)內(nèi)部).5)C++在以下領(lǐng)域,有著根本性的優(yōu)勢(shì) :低級(jí)系統(tǒng)程序設(shè)計(jì)、高級(jí)系統(tǒng)程序設(shè)計(jì)、嵌入式程序設(shè)計(jì)、數(shù)值科學(xué)計(jì)算、通用程序設(shè)計(jì)以及混合系統(tǒng)設(shè)計(jì)等等。高級(jí)系統(tǒng)程序設(shè)計(jì):包括操作系統(tǒng)核心、網(wǎng)絡(luò)管理系統(tǒng)、編譯系統(tǒng)、電子郵件系統(tǒng)、文字排版系統(tǒng)、圖像和聲音的編排系統(tǒng)、通訊系統(tǒng)、用戶界面、數(shù)據(jù)庫(kù)系統(tǒng)等等。嵌入式系統(tǒng):包括照相機(jī)、汽車、火箭、電話交換機(jī)、汽車等等。數(shù)值/科學(xué)計(jì)算:包括仿真、實(shí)時(shí)數(shù)據(jù)獲取和數(shù)據(jù)庫(kù)訪問(wèn)等等。
6)C#主要用于開發(fā)WEB應(yīng)用,與Java一樣的,是競(jìng)爭(zhēng)的兩方面,這也是微軟設(shè)計(jì)C#的初忠。C#在C/S架構(gòu)方面不如Delphi,PB,VFP,主要是從性能和成熟的應(yīng)用方面考慮的,現(xiàn)在幾乎沒(méi)有公司在用C#做C/S的商品軟件。
7)Delphi和Visual Basic語(yǔ)言的應(yīng)用領(lǐng)域差別不大,但Delphi具有高速的編譯器,強(qiáng)大的數(shù)據(jù)庫(kù)支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。與數(shù)據(jù)庫(kù)相關(guān)的應(yīng)用軟件開發(fā),采用Delphi是不錯(cuò)的選擇。
當(dāng)今軟件行業(yè)的就業(yè)情況
了解當(dāng)前IT軟件行業(yè)的發(fā)展情況和就業(yè)形勢(shì),對(duì)自己的選擇是非常重要的。
1)行業(yè)發(fā)展報(bào)告
2007年1-8月,我國(guó)規(guī)模以上軟件產(chǎn)業(yè)累計(jì)完成收入3439億元,同比增長(zhǎng)22.9%,高于電子信息產(chǎn)業(yè)增速 3.5個(gè)百分點(diǎn)。各類軟件收入增速均保持在15%以上,其中軟件產(chǎn)品收入最大,達(dá)到1212.5億元,占全部收入的35.3%,比2006年(26.7%)提高了8.6個(gè)百分點(diǎn)。國(guó)內(nèi)軟件與信息服務(wù)業(yè)的發(fā)展利好因素頗多。
一方面,在中部崛起、西部大開發(fā)等戰(zhàn)略的帶動(dòng)下,信息化需求的上升將拉動(dòng)軟件市場(chǎng)的增長(zhǎng);另一方面,北京2008年奧運(yùn)會(huì)、上海2010年世博會(huì)、3G(第三代移動(dòng)通信)等的輻射效應(yīng),使部分行業(yè)信息化建設(shè)與應(yīng)用架構(gòu)進(jìn)一步優(yōu)化。根據(jù)我國(guó)軟件業(yè)自身發(fā)展規(guī)律,結(jié)合國(guó)內(nèi)實(shí)際情況及需求,我國(guó)制定了《軟件與信息服務(wù)業(yè)“十一五”專項(xiàng)規(guī)劃》,并明確提出了未來(lái)五年產(chǎn)業(yè)的發(fā)展目標(biāo)。
當(dāng)前,以服務(wù)外包、服務(wù)貿(mào)易以及高端制造業(yè)和技術(shù)研發(fā)環(huán)節(jié)為主要特征的新一輪世界產(chǎn)業(yè)結(jié)構(gòu)調(diào)整正在興起,主要依靠智力資源發(fā)展的服務(wù)外包產(chǎn)業(yè)。
難易度比較
高級(jí)語(yǔ)言 比 匯編語(yǔ)言簡(jiǎn)單;
結(jié)構(gòu)化語(yǔ)言 比 面向?qū)ο笳Z(yǔ)言簡(jiǎn)單;
腳本語(yǔ)言 比 編譯語(yǔ)言簡(jiǎn)單;
2)IT行業(yè)薪資報(bào)告
據(jù)相關(guān)機(jī)構(gòu)調(diào)查顯示,在IT行業(yè)中,月薪上萬(wàn)元的,占有較小的比例。
3)2008就業(yè)分析:
據(jù)國(guó)內(nèi)領(lǐng)先的人力資源服務(wù)商近期調(diào)查顯示,排名前四位的行業(yè)。
面向?qū)ο笳Z(yǔ)言中:C++ 和 Visual C++(Visual C++是微軟公司的C++產(chǎn)品,具有可視化圖形開發(fā)平臺(tái),一般來(lái)說(shuō)先具有C++基礎(chǔ)才能學(xué)習(xí)VC)相對(duì)其它面向?qū)ο笳Z(yǔ)言是比較復(fù)雜的,其余的面向?qū)ο笳Z(yǔ)言難易度差異不大。
總結(jié)
經(jīng)過(guò)以上內(nèi)容的闡述,我相信大家已經(jīng)對(duì)語(yǔ)言的特點(diǎn)和運(yùn)用有了清晰的了解。我們應(yīng)該根據(jù)自身的學(xué)習(xí)專業(yè)或興趣志向,來(lái)選擇不同的編程語(yǔ)言。
如果您希望將來(lái)從事企業(yè)運(yùn)用開發(fā)工作,可以選擇JAVA語(yǔ)言或.NET語(yǔ)言或PHP;
如果您想從事通訊領(lǐng)域的開發(fā)工作,可以選擇C++或Visual C++語(yǔ)言;
如果您是偏向電子等硬件專業(yè),可以選擇C語(yǔ)言或C++語(yǔ)言。
如果您想開發(fā)非WEB架構(gòu)的信息管理系統(tǒng),可以選擇Visual Basic語(yǔ)言或Delphi語(yǔ)言。
編程語(yǔ)言在領(lǐng)域的運(yùn)用沒(méi)有絕對(duì)的界限;一個(gè)軟件系統(tǒng)中,也可能存在多個(gè)語(yǔ)言技術(shù)結(jié)合;一個(gè)軟件工程師,往往需要掌握多門語(yǔ)言。
常言道:“天高任鳥飛,海闊憑魚躍”,IT行業(yè)作為我國(guó)第一大產(chǎn)業(yè),其發(fā)展?jié)摿κ欠浅>薮蟮?。要想成為一個(gè)高級(jí)的IT人才,每一人就只有憑自身的學(xué)識(shí)和能力了。
第五篇:計(jì)算機(jī)語(yǔ)言基本介紹-中國(guó)公共
計(jì)算機(jī)語(yǔ)言基本介紹
計(jì)算機(jī)語(yǔ)言(computer language)指用于人與計(jì)算機(jī)之間通訊的語(yǔ)言,是人與計(jì)算機(jī)之間傳遞信息的媒介。計(jì)算機(jī)系統(tǒng)最大特征是指令通過(guò)一種語(yǔ)言傳達(dá)給機(jī)器,為了使電子計(jì)算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計(jì)算機(jī)程序的數(shù)字、字符和語(yǔ)法規(guī)劃,由這些字符和語(yǔ)法規(guī)則組成計(jì)算機(jī)各種指令(或各種語(yǔ)句),這些就是計(jì)算機(jī)能接受的語(yǔ)言。計(jì)算機(jī)語(yǔ)言的概念比通用的編程語(yǔ)言要更廣泛,例如,HTML是置標(biāo)語(yǔ)言,也是計(jì)算機(jī)語(yǔ)言,但并不是編程語(yǔ)言。
計(jì)算機(jī)語(yǔ)言的種類非常的多,總的來(lái)說(shuō)可以分成機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言三大類。電腦每做的一次動(dòng)作,一個(gè)步驟,都是按照已經(jīng)用計(jì)算機(jī)語(yǔ)言編好的程序來(lái)執(zhí)行,程序是計(jì)算機(jī)要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語(yǔ)言來(lái)編寫的。所以人們要控制計(jì)算機(jī)一定要通過(guò)計(jì)算機(jī)語(yǔ)言向計(jì)算機(jī)發(fā)出命令。
(1)解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語(yǔ)言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨(dú)立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動(dòng)態(tài)地調(diào)整、修改應(yīng)用程序。
(2)編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),因此其目標(biāo)程序可以脫離其語(yǔ)言環(huán)境獨(dú)立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒(méi)有源代碼,修改很不方便。如今大多數(shù)的編程語(yǔ)言都是編譯型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi等。中國(guó)公共服務(wù)中心