国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

常用編程語(yǔ)言特點(diǎn)與應(yīng)用分析

2017-04-20 23:08潘威濤
科技創(chuàng)新導(dǎo)報(bào) 2016年35期
關(guān)鍵詞:編程語(yǔ)言軟件應(yīng)用

潘威濤

摘 要:人們?nèi)粘I铍x不開(kāi)各種軟件所提供的服務(wù),研究編程語(yǔ)言對(duì)更好地進(jìn)行軟件開(kāi)發(fā)具有重要意義。該文主要總結(jié)與分析了C、C++、Java、MATLAB等常用編程語(yǔ)言的特點(diǎn)和現(xiàn)狀,以及其在不同場(chǎng)景下的應(yīng)用,對(duì)初級(jí)編程者有一定指導(dǎo)意義。

關(guān)鍵詞:編程語(yǔ)言 軟件 應(yīng)用

中圖分類號(hào):TP311.175 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)12(b)-0085-02

1 什么是編程語(yǔ)言

編程語(yǔ)言是用來(lái)定義計(jì)算機(jī)程序的形式語(yǔ)言,用來(lái)向計(jì)算機(jī)發(fā)出指令。計(jì)算機(jī)語(yǔ)言數(shù)量很多,每年都會(huì)產(chǎn)生大量新的編程語(yǔ)言。按層次來(lái)分,編程語(yǔ)言可分為3類:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言由機(jī)器指令集構(gòu)成,能夠直接被機(jī)器執(zhí)行。機(jī)器語(yǔ)言寫的程序存在不便于閱讀、難以記憶的問(wèn)題。匯編語(yǔ)言本質(zhì)上也是直接對(duì)硬件操作,由于采用了助記符,相比機(jī)器語(yǔ)言更加方便書寫與閱讀。在高級(jí)語(yǔ)言中,將多條匯編程序語(yǔ)句合并成更簡(jiǎn)潔的編程語(yǔ)句,同時(shí)自動(dòng)完成一些如堆棧、寄存器分配管理等工作,更加方便程序員開(kāi)發(fā)程序。

編程語(yǔ)言的出現(xiàn)可以說(shuō)給人類社會(huì)快速發(fā)展提供了一個(gè)契機(jī)。目前編程已經(jīng)滲透于我們?nèi)粘I畹拿總€(gè)方面,我們所使用的電子設(shè)備、軟件服務(wù)中都運(yùn)行著大量的程序。近年來(lái),不僅是高科技產(chǎn)業(yè),傳統(tǒng)行業(yè)也在積極投入互聯(lián)網(wǎng)時(shí)代,網(wǎng)站、軟件等編程需求巨大。研究編程語(yǔ)言具有重要意義。分析各個(gè)編程語(yǔ)言的特點(diǎn),能夠指導(dǎo)編程者選擇更適合任務(wù)的編程語(yǔ)言,提高開(kāi)發(fā)效率。同時(shí)能夠?qū)幊坛鯇W(xué)者起到指導(dǎo)作用,以便選擇合適的學(xué)習(xí)路徑。相對(duì)于機(jī)器語(yǔ)言與匯編語(yǔ)言,日常編程任務(wù)更多選擇高級(jí)語(yǔ)言,該文主要討論高級(jí)語(yǔ)言的發(fā)展與特點(diǎn)。

2 高級(jí)語(yǔ)言發(fā)展簡(jiǎn)史

目前已經(jīng)有數(shù)千種編程語(yǔ)言被發(fā)明,每年仍有大量新的編程語(yǔ)言誕生。我們一般認(rèn)為1957年由John W.Backu研發(fā)的Fortran是世界上第一門高級(jí)編程語(yǔ)言。1957—1959年這段時(shí)間,是編程語(yǔ)言剛開(kāi)始新興的時(shí)候,這個(gè)時(shí)候Fortran、Lisp、Cobol也就是編程語(yǔ)言的雛形出現(xiàn)。1972年,Dennis Ritchie在B語(yǔ)言的基礎(chǔ)上改良和發(fā)展,最終將其命名為C語(yǔ)言[1]。C語(yǔ)言作為一種經(jīng)典的編程語(yǔ)言,至今仍被廣泛使用。而之后貝爾實(shí)驗(yàn)室又在C語(yǔ)言的基礎(chǔ)上推出了更強(qiáng)大的面向?qū)ο笳Z(yǔ)言C++。1991年和1993年,Python和Ruby語(yǔ)言也相繼被發(fā)明。1996年Sun公司發(fā)布了Java的第一個(gè)開(kāi)發(fā)工具包,標(biāo)志著Java[2]成為一種獨(dú)立的開(kāi)發(fā)工具,此后Java一直是一種非常流行的編程語(yǔ)言。

據(jù)TIOBE編程語(yǔ)言社區(qū)發(fā)布的編程語(yǔ)言流行趨勢(shì)排行榜統(tǒng)計(jì)顯示(前部分節(jié)選如表1所示),2016年僅有兩種語(yǔ)言的增長(zhǎng)率超過(guò)了1%,分別是Groovy和GO語(yǔ)言,可以發(fā)現(xiàn)谷歌的GO語(yǔ)言將成為發(fā)展最快的語(yǔ)言。從此榜單可以看出,目前Java、C、C++使用量排名前三,而Java語(yǔ)言也是以9%的差距大大領(lǐng)先于排名第二的C語(yǔ)言。

如圖1所示,在2003—2005年間,Java語(yǔ)言使用指數(shù)有明顯的下降,2006年有所回升,而在后來(lái)的幾年(2015年前)里依舊呈逐漸下降的趨勢(shì)。2015年以前C語(yǔ)言使用量較為穩(wěn)定(15%~20%),近兩年迅速下降至10%左右。C++語(yǔ)言在過(guò)去的10年中呈動(dòng)態(tài)下降趨勢(shì),2016年使用量占主流編程語(yǔ)言的6%左右。圖1中未統(tǒng)計(jì)MATLAB使用量,因?yàn)镸ATLAB并非軟件開(kāi)發(fā)語(yǔ)言(圖片來(lái)源于TIOBE編程語(yǔ)言社區(qū))。

3 常用編程語(yǔ)言特點(diǎn)分析

3.1 C

C語(yǔ)言是一門標(biāo)準(zhǔn)化高的編程語(yǔ)言,適用于不同的計(jì)算機(jī)系統(tǒng),因?yàn)樗哂休^好的可移植性,所以成為了應(yīng)用非常廣泛的語(yǔ)言。C語(yǔ)言方便靈活,語(yǔ)言簡(jiǎn)潔,它只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,運(yùn)算符包含的范圍廣。所以,相較于其他的高級(jí)語(yǔ)言,C語(yǔ)言容易上手。但語(yǔ)法限制不嚴(yán)格,設(shè)計(jì)時(shí)比較自由的同時(shí)也使C語(yǔ)言被濫用。圖2展示了一個(gè)C語(yǔ)言編程的常見(jiàn)錯(cuò)誤,在if語(yǔ)句后誤加了一個(gè)分號(hào),此時(shí)不管是否'a>b',程序運(yùn)行輸出都是'a>b'。C語(yǔ)言可以進(jìn)行系統(tǒng)程序的編寫,比如UNIX就是由其編寫的。C語(yǔ)言不僅是高級(jí)語(yǔ)言,而且還可以像匯編語(yǔ)言一樣對(duì)物理內(nèi)存、硬件直接進(jìn)行訪問(wèn)與操作,有時(shí)因?yàn)椴僮鞑划?dāng)也會(huì)造成嚴(yán)重的錯(cuò)誤。

3.2 C++

1983年,貝爾實(shí)驗(yàn)室將改良后的C語(yǔ)言命名為C++,這門語(yǔ)言在保留C語(yǔ)言大部分設(shè)定的基礎(chǔ)上增加了面向?qū)ο骩3]。面向?qū)ο蠛诵母拍钍穷惻c對(duì)象,類就是一個(gè)由屬性相同的對(duì)象組成的抽象集合,而對(duì)象是類的具體實(shí)例。C++語(yǔ)言可以直接以類為模板定義出若干個(gè)對(duì)象,所以面向?qū)ο蠹夹g(shù)使重用數(shù)據(jù)、代碼變得更加便捷。相比C語(yǔ)言,C++語(yǔ)言更適合開(kāi)發(fā)大型軟件,許多系統(tǒng)支撐軟件和應(yīng)用程序都是由C++編寫的。C++運(yùn)行速度比C慢,和C一樣都存在語(yǔ)法的濫用。

3.3 Java

Java語(yǔ)言的前身是由Sun公司在C++基礎(chǔ)上改造出的Oak語(yǔ)言。Oak語(yǔ)言在經(jīng)過(guò)許多年的修改后最終成為了現(xiàn)在的Java語(yǔ)言。與C++一樣,Java同樣是個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言,它的數(shù)據(jù)庫(kù)操作強(qiáng)大于前者,并且C++中不常用的特征都被刪掉,使得Java更容易上手。Java的一項(xiàng)優(yōu)點(diǎn)是它具有很好的安全性,因?yàn)樗鼪](méi)有指針,所以不會(huì)被程序員得到一些隱藏的信息,也令Java更加可靠。Java語(yǔ)言適合于大型項(xiàng)目的開(kāi)發(fā),方便一些企業(yè)編寫程序,但它在較底層的開(kāi)發(fā)項(xiàng)目中顯得不足。如今,由于Android系統(tǒng)的普及,作為其基本開(kāi)發(fā)語(yǔ)言Java為更多人所知。

3.4 MATLAB

MATLAB也稱作矩陣實(shí)驗(yàn)室[4],它包含了600多種數(shù)學(xué)計(jì)算所需的函數(shù),在矩陣運(yùn)算、數(shù)值運(yùn)算和數(shù)據(jù)處理等方面的功能很強(qiáng)大,是一個(gè)專業(yè)的數(shù)學(xué)軟件。它的語(yǔ)言簡(jiǎn)單,語(yǔ)法也相對(duì)不嚴(yán)格。MATLAB語(yǔ)言編寫與我們?nèi)粘鴮懙姆绞绞呛芟竦模子谏鲜?。MATLAB的圖形功能也十分強(qiáng)大,它可以根據(jù)數(shù)據(jù)方便地做出各種圖形。MATLAB讀取文件功能也十分強(qiáng)大,能夠快捷、智能地讀取各種數(shù)值文件。總之,在數(shù)學(xué)和科研領(lǐng)域上,MATLAB的便捷性和高效性是遠(yuǎn)遠(yuǎn)強(qiáng)于介紹的前3種語(yǔ)言的。

4 常用編程語(yǔ)言應(yīng)用場(chǎng)景分析

在學(xué)習(xí)編程或進(jìn)行軟件開(kāi)發(fā)時(shí),編程者應(yīng)當(dāng)根據(jù)自己的任務(wù)需要選擇合適的編程語(yǔ)言。C語(yǔ)言多運(yùn)用于操作系統(tǒng)以及底層軟件的編寫,比如Unix、Linux和大家熟知的Windows系列等。與C語(yǔ)言相比,C++語(yǔ)言常運(yùn)用于更上層的軟件編寫,比如QQ和迅雷等常見(jiàn)Windows桌面軟件,另一個(gè)很重要的應(yīng)用是大型游戲的開(kāi)發(fā)。Java語(yǔ)言則更多運(yùn)用在商業(yè)應(yīng)用軟件以及網(wǎng)站的開(kāi)發(fā),使用J2EE(企業(yè)級(jí)Java開(kāi)發(fā)框架)能夠快速、高效地完成大型商業(yè)網(wǎng)站開(kāi)發(fā)任務(wù)。在目前流行的Android操作系統(tǒng)上,應(yīng)用軟件都是基于Java語(yǔ)言編寫的。相比于其他3種語(yǔ)言,MATLAB廣泛運(yùn)用于科學(xué)計(jì)算編程,而不適合軟件開(kāi)發(fā)。

參考文獻(xiàn)

[1] 倪瑞曉.C語(yǔ)言編程技術(shù)的分析研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(12):251-254.

[2] 賈俊奇.軟件開(kāi)發(fā)下的JAVA語(yǔ)言[J].中國(guó)科技信息,2014 (13):133-134.

[3] 藍(lán)雯飛,陸際光,覃俊.C++面向?qū)ο蟪绦蛟O(shè)計(jì)中的多態(tài)性研究[J].計(jì)算機(jī)工程與應(yīng)用,2000,36(8):97-98.

[4] 潘大夫,汪渤,周志強(qiáng).Matlab與C/C++混合編程技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(2):465-468.

猜你喜歡
編程語(yǔ)言軟件應(yīng)用
壓力-體積轉(zhuǎn)換在CFC編程語(yǔ)言中的實(shí)現(xiàn)解析
禪宗軟件
Java編程語(yǔ)言的特點(diǎn)與應(yīng)用
軟件對(duì)對(duì)碰
淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)的影響
面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
談軟件的破解與保護(hù)