計(jì)算機(jī)編程語(yǔ)言的發(fā)展趨勢(shì)_第1頁(yè)
計(jì)算機(jī)編程語(yǔ)言的發(fā)展趨勢(shì)_第2頁(yè)
計(jì)算機(jī)編程語(yǔ)言的發(fā)展趨勢(shì)_第3頁(yè)
計(jì)算機(jī)編程語(yǔ)言的發(fā)展趨勢(shì)_第4頁(yè)
計(jì)算機(jī)編程語(yǔ)言的發(fā)展趨勢(shì)_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

編程語(yǔ)言的發(fā)展趨勢(shì)

——編程語(yǔ)言的歷史、現(xiàn)狀和未來計(jì)算機(jī)與信息學(xué)院王安慧snowfield@163.com據(jù)說全世界存在過計(jì)算機(jī)編程語(yǔ)言超過2500種。你可以在下面的網(wǎng)站查詢到約2500種編程語(yǔ)言的相關(guān)信息。/~nkinners/LangList/Extras/search.htm關(guān)于編程語(yǔ)言的幾個(gè)問題編程語(yǔ)言可以分為哪些種類??jī)?yōu)秀的編程語(yǔ)言應(yīng)該是什么樣?導(dǎo)致編程語(yǔ)言流行的原因?最流行的編程語(yǔ)言是什么?如何選擇適合自己的開發(fā)語(yǔ)言?提綱編程語(yǔ)言發(fā)展歷史的簡(jiǎn)單回顧編程語(yǔ)言的現(xiàn)狀編程語(yǔ)言的發(fā)展趨勢(shì)編程語(yǔ)言的選擇編程語(yǔ)言發(fā)展

歷史的簡(jiǎn)單回顧編程語(yǔ)言發(fā)展歷史的簡(jiǎn)單回顧低級(jí)語(yǔ)言時(shí)代高級(jí)語(yǔ)言時(shí)代面向?qū)ο髸r(shí)代低級(jí)語(yǔ)言時(shí)代(1946—1953)光電閱讀機(jī)將記錄在穿孔卡片上數(shù)據(jù)讀入計(jì)算機(jī),計(jì)算的結(jié)果則利用打孔機(jī)在卡片上打出的一些小孔,就表示輸出的數(shù)據(jù)??ㄆ系男】拙徒M成了計(jì)算機(jī)和專家明白但絕大多數(shù)人不明白的天書——機(jī)器語(yǔ)言,也就是完全用0,1代碼寫的程序。機(jī)器語(yǔ)言匯編語(yǔ)言由于機(jī)器語(yǔ)言的難易理解,莫奇萊等人開始想到用助記符來代替0,1代碼,于是匯編語(yǔ)言出現(xiàn)了section.data

msgdb"Hello,world!",0xA

lenequ$-msg

; section.text

;

global_start

;

_start:

;

高級(jí)語(yǔ)言時(shí)代(1954—至今)隨著世界上第一個(gè)高級(jí)語(yǔ)言fortran的出現(xiàn),新的編程語(yǔ)言開始不斷涌現(xiàn)出來。各有特色,各有優(yōu)勢(shì),隨著時(shí)間的檢驗(yàn),一些流行至今,一些則逐漸消失常見的高級(jí)編程語(yǔ)言ALGOL1960,第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言推出C1972年,丹尼斯·里奇以B語(yǔ)言為基礎(chǔ)開發(fā)出C語(yǔ)言——目前世界上最常用的程序語(yǔ)言之一。C語(yǔ)言是使用最廣泛的語(yǔ)言之一,可以說,C語(yǔ)言的誕生是現(xiàn)代程序語(yǔ)言革命的起點(diǎn),是程序設(shè)計(jì)語(yǔ)言發(fā)展史中的一個(gè)里程碑

開啟了一個(gè)時(shí)代的C語(yǔ)言(宣傳圖)常見的高級(jí)編程語(yǔ)言Basic

1964年美國(guó)達(dá)特茅斯學(xué)院的兩個(gè)教員(約翰.凱梅尼(J.Kemeny)和托馬斯·卡茨(T.Kurtz))開發(fā)了basic語(yǔ)言該語(yǔ)言只有26個(gè)變量名,,17條語(yǔ)句,12個(gè)函數(shù)和3個(gè)命令這門語(yǔ)言叫做初學(xué)者通用符號(hào)指令代碼”—BeginnersAllpurposeSymbolicIntructionCode常見的高級(jí)編程語(yǔ)言Pascal

1967年,Niklaus

Wirth開始開發(fā)PASCAL語(yǔ)言,1971年完成。主要特點(diǎn)有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運(yùn)行效率高;查錯(cuò)能力強(qiáng),可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)有益于培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格和習(xí)慣PASCAL是一個(gè)重要的里程碑結(jié)構(gòu)化程序設(shè)計(jì)概念的語(yǔ)言面向?qū)ο髸r(shí)代(1990s初—至今)面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-OrientedProgramming,簡(jiǎn)稱OOP)是一種起源于六十年代的Simula語(yǔ)言,發(fā)展已經(jīng)將近三十年的程序設(shè)計(jì)思想。其自身理論已經(jīng)十分完善,并被多種面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言實(shí)現(xiàn)常見的面向?qū)ο缶幊陶Z(yǔ)言VB—Basic的繼續(xù)Delphi—Pascal的繼續(xù)C++—C語(yǔ)言擴(kuò)展VC++BorlandC++BuilderQtJava—最為流行的面向?qū)ο笳Z(yǔ)言C#

—新一代的面向?qū)ο笳Z(yǔ)言總結(jié)1、Java霸占了企業(yè)級(jí)應(yīng)用市場(chǎng),一部分移動(dòng)開發(fā)(J2ME)和web開發(fā),但是Java在客戶端的圖形接口方面失敗連連,從Applet、AWT到Swing,Java似乎一直無法為客戶端提供堪用的解決方案,以致不斷敗退,造成了目前在客戶端使用Java應(yīng)用程序的應(yīng)用系統(tǒng)仍然非常稀少?!褂谜吲琶谝?、C和C++仍然是嵌入式開發(fā)和系統(tǒng)給開發(fā)的利器。操作系統(tǒng)、驅(qū)動(dòng)程序、各種游戲大都是他們的開發(fā)的——地位不可替代3、C#用來做WEB、桌面、控制臺(tái)等程序都可以,和java類似。——迅速崛起4、VB、delphi擅長(zhǎng)于快速的桌面程序開發(fā),數(shù)據(jù)庫(kù)開發(fā),例如進(jìn)銷存軟件——逐漸下滑5、其他:perl、python、ruby,jsp,javascript,php等等也占據(jù)了一定的市場(chǎng)編程語(yǔ)言的現(xiàn)狀編程語(yǔ)言的現(xiàn)狀幾十年來硬件與編程語(yǔ)言的發(fā)展的對(duì)比從TOIBE排行榜看編程語(yǔ)言的現(xiàn)狀年份

機(jī)型CPU主頻內(nèi)存外存1981IBMPC80884.77M16K~256K1.44M軟盤2012PC組裝機(jī)3.40G16G1T硬盤

71262500700000過去31年個(gè)人PC機(jī)硬件發(fā)展幾十年來編程語(yǔ)言進(jìn)步自1953年,第一個(gè)高級(jí)編程語(yǔ)言產(chǎn)生1972年,C語(yǔ)言誕生,至今整整40年,C語(yǔ)言的發(fā)展幾十年來編程語(yǔ)言進(jìn)步1972年,誕生1978年,貝爾實(shí)驗(yàn)室正式發(fā)表C語(yǔ)言1983年,著手制定標(biāo)準(zhǔn)1989年,C語(yǔ)言標(biāo)準(zhǔn)被批準(zhǔn),即ANSIC1990年,ISO接受ANSIC為ISOC的標(biāo)準(zhǔn)1999年,ISO又對(duì)C標(biāo)準(zhǔn)標(biāo)準(zhǔn)修訂形成,C992011年12月8日,ISO正式公布C語(yǔ)言新的國(guó)際標(biāo)準(zhǔn)草案:ISO/IEC9899:2011,即C11。自ANSI標(biāo)準(zhǔn)化C語(yǔ)言后至今,ISO修訂對(duì)于C語(yǔ)言標(biāo)準(zhǔn)的改動(dòng)非常小。/*用C語(yǔ)言編寫的打印華氏溫度與攝氏溫度對(duì)照表代碼*/#include<stdio.h>main(){

intfahr,celsius;

intlower,upper,step;

lower=0;upper=300;step=20;fahr=lower;

while(fahr<=upper){celsius=5*(fahr-32)/9;printf("%d\t%d\n",fahr,celsius);fahr=fahr+step;}}//用java語(yǔ)言編寫的打印華氏溫度與攝氏溫度對(duì)照表代碼packagetest;publicclassTest{publicstaticvoidmain(String[]args){intfahr,celsius;intlower,upper,step;lower=0;upper=300;step=20;fahr=lower;while(fahr<=upper){celsius=5*(fahr-32)/9;System.out.printf("%d\t%d\n",fahr,celsius);fahr=fahr+step;}}}#用Python語(yǔ)言編寫的打印華氏溫度與攝氏溫度對(duì)照表代碼lower=0upper=300step=20fahr=lowerwhile(fahr<=upper):celsius=5*(fahr-32)/9print("%s\t%s"%(fahr,celsius))fahr=fahr+step小結(jié)編程語(yǔ)言本身的發(fā)展非常緩慢。期間出現(xiàn)了一些東西,例如面向?qū)ο蟮鹊?,但是遠(yuǎn)沒有好上1000倍。過去的努力沒有體現(xiàn)在編程語(yǔ)言上,而是體現(xiàn)在框架及工具等方面了。如今我們使用的框架,它們的體積的確有1000倍的增長(zhǎng)。例如當(dāng)年TurboPascal所帶的框架大約有100個(gè)功能,而現(xiàn)在的.NETFramework里則有一萬個(gè)類,十萬個(gè)方法,的確有1000倍的增長(zhǎng)。與此類似,如果你觀察現(xiàn)在的IDE,我們現(xiàn)在已經(jīng)有了無數(shù)強(qiáng)大的功能,例如語(yǔ)法提示,重構(gòu),調(diào)試器,探測(cè)器等等,這方面的新東西有很多。與此相比,編程語(yǔ)言的改進(jìn)的確很不明顯。從TIOBE排行榜看編程語(yǔ)言的現(xiàn)狀TIOBE編程語(yǔ)言排行榜世界排名前20的編程語(yǔ)言五大流行編程語(yǔ)言的發(fā)展趨勢(shì)編程語(yǔ)言的現(xiàn)狀Tiobe

TIOBE開發(fā)語(yǔ)言排行榜每月更新一次,依據(jù)的指數(shù)是基于世界范圍內(nèi)的資深軟件工程師和第三方供應(yīng)商提供,其結(jié)果作為當(dāng)前業(yè)內(nèi)程序開發(fā)語(yǔ)言的流行使用程度的有效指標(biāo)。該指數(shù)可以用來檢閱開發(fā)者的編程技能能否跟上趨勢(shì),或是否有必要作出戰(zhàn)略改變,以及什么編程語(yǔ)言是應(yīng)該及時(shí)掌握的。觀察認(rèn)為,該指數(shù)反應(yīng)的雖并非當(dāng)前最流行或應(yīng)用最廣的語(yǔ)言,但對(duì)世界范圍內(nèi)開發(fā)語(yǔ)言的走勢(shì)仍具有重要參考意義。排名1-10的編程語(yǔ)言排名11-20的編程語(yǔ)言VeryLongTermHistoryofthetop10programminglanguagesThelongtermtrendsforthetop10programminglanguages編程語(yǔ)言

的發(fā)展趨勢(shì)編程語(yǔ)言的發(fā)展趨勢(shì)思考:影響編程語(yǔ)言未來發(fā)展的因素?編程語(yǔ)言未來發(fā)展趨勢(shì)動(dòng)態(tài)化計(jì)算機(jī)能夠處理的事交給計(jì)算機(jī)處理聲明式及函數(shù)式編程風(fēng)格告訴計(jì)算機(jī)What而不是How并發(fā)編程多核時(shí)代的必然要求觀點(diǎn)來自AndersHejlsberg《編程語(yǔ)言的發(fā)展趨勢(shì)及未來方向》的講座編程語(yǔ)言未來發(fā)展趨勢(shì)未來計(jì)算機(jī)編程語(yǔ)言特點(diǎn)總體向支持動(dòng)態(tài)、聲明式、并發(fā)支持,易于使用的多范式語(yǔ)言發(fā)展一些語(yǔ)言會(huì)同時(shí)支持面向?qū)ο蟆⒚嫦蜻^程、動(dòng)態(tài)、聲明、函數(shù)式以及并發(fā)編程PositionProgrammingLanguageRatings

PositionProgrammingLanguageRatings21SAS0.56%

36D0.28%22Bash0.55%

37Smalltalk0.25%23Transact-SQL0.49%

38NXT-G0.24%24ABAP0.46%

39APL0.23%25Scratch0.45%

40Forth0.22%26COBOL0.45%

41ML0.22%27Fortran0.42%

42Awk0.22%28R0.42%

43Dart0.19%29Scheme0.41%

44ActionScript0.17%30Logo0.38%

45CommonLisp0.17%31Prolog0.35%

46Alice0.16%32RPG(OS/400)0.35%

47LabVIEW0.15%33Haskell0.31%

48Eiffel0.15%34Erlang0.29%

49CFML0.15%35Scala0.29%

50Tcl0.14%排名21~50的語(yǔ)言,其中紅色為動(dòng)態(tài)語(yǔ)言,藍(lán)色為函數(shù)式語(yǔ)言安德斯·海爾斯伯格安德斯·海爾斯伯格(AndersHejlsberg,1960.12~),丹麥人,TurboPascal編譯器的主要作者,Delphi和.NET之父

比爾蓋茨評(píng)價(jià):“Anders在C#創(chuàng)建中所做的努力將會(huì)改變現(xiàn)在的軟件開發(fā)方式,并將在以后的十年繼續(xù)產(chǎn)生影響?!崩赫页鏊?00以內(nèi)能被3整除的數(shù)C語(yǔ)言實(shí)現(xiàn)核心代碼:inti,

a[100];for(i=0;i<100;

i++)

if(i

%

3

==

0){

a[i]

=

i;

printf("%d\t",

a[i]);

}例:找出所有100以內(nèi)能被3整除的數(shù)Python語(yǔ)言實(shí)現(xiàn)核心代碼:a

=

[xforxinrange(1,100)]print

a例:從文本文件中讀入所有行到一個(gè)數(shù)組(列表)中C語(yǔ)言實(shí)現(xiàn)核心代碼:FILE*fr;chars[1000][1000];inti=0;fr=fopen("test.txt","r");while(!feof(fr)){fgets(s[i],1000,fr);i++;}例:從文本文件中讀入所有行到一個(gè)數(shù)組(列表)中Python語(yǔ)言實(shí)現(xiàn)核心代碼:li=open("test.txt").readlines()例:快速排序算法A[0]A[1]A[2]A[3]A[4]A[5]A[6]493865977613272738134976976513273849657697快速排序算法:C語(yǔ)言實(shí)現(xiàn)voidqsort(intv[],intleft,intright){

inti,last;

voidswap(intv[],inti,intj);

if(left>=right)

return;

swap(v,left,(left+right)/2);

last=left;

for(i=left+1;i<=right;i++)

if(v[i]<v[left])

swap(v,++last,i);

swap(v,left,right);

qsort(v,left,last-1);

qsort(v,last+1,right);

}

voidswap(intv[],inti,intj){

inttemp;

temp=v[i];

v[i]=v[j];

v[j]=temp;}快速排序算法:haskell實(shí)現(xiàn)qsort[]=[]qsort(x:xs)=qsort[y|y<-xs,y<x]++[x]++qsort[y|y<-xs,y>=x]小結(jié)命令式語(yǔ)言面向機(jī)器的,以機(jī)器為中心,與計(jì)算機(jī)內(nèi)部原理相一致注重How,即如何解決問題函數(shù)式語(yǔ)言面向問題的,以人為中心,更符合人的思維方式,具有更高的抽象注重What,即對(duì)問題的描述編程語(yǔ)言的選擇編程語(yǔ)言的選擇編程語(yǔ)言的分類不同編程語(yǔ)言的特點(diǎn)值得關(guān)注的一些編程語(yǔ)言編程語(yǔ)言與開發(fā)工具的選擇編程語(yǔ)言的分類幾種概念的說明面向?qū)ο蟮木幊陶Z(yǔ)言支持面向的編程語(yǔ)言編程語(yǔ)言的分類高級(jí)語(yǔ)言與低級(jí)語(yǔ)言編譯型與解釋型動(dòng)態(tài)與靜態(tài)類型命令式與函數(shù)式非中文與中文動(dòng)態(tài)語(yǔ)言,是指程序在運(yùn)行時(shí)可以改變其結(jié)構(gòu)新的函數(shù)可以被引進(jìn),已有的函數(shù)可以被刪除等在結(jié)構(gòu)上的變化動(dòng)態(tài)語(yǔ)言的類型檢查是在運(yùn)行時(shí)做的靜態(tài)類型語(yǔ)言的類型判斷是在運(yùn)行前判斷*命令式編程(Imperativeprogramming),是一種描述電腦所需作出的行為的編程范型。幾乎所有電腦的硬件工作都是指令式的;幾乎所有電腦的硬件都是設(shè)計(jì)來運(yùn)行機(jī)器碼,使用指令式的風(fēng)格來寫的。較高級(jí)的指令式編程語(yǔ)言使用變量和更復(fù)雜的語(yǔ)句,但仍依從相同的范型。因?yàn)槊钍骄幊痰幕A(chǔ)觀念,不但概念上比較熟悉,而且較容易具體表現(xiàn)于硬件,所以大部分的編程語(yǔ)言都是指令式的。*函數(shù)式編程是種編程典范,它將電腦運(yùn)算視為函數(shù)的計(jì)算。函數(shù)編程語(yǔ)言最重要的基礎(chǔ)是λ演算(lambdacalculus)。而且λ演算的函數(shù)可以接受函數(shù)當(dāng)作輸入(參數(shù))和輸出(返回值)。和指令式編程相比,函數(shù)式編程強(qiáng)調(diào)函數(shù)的計(jì)算比指令的執(zhí)行重要。和過程化編程相比,函數(shù)式編程里,函數(shù)的計(jì)算可隨時(shí)調(diào)用。編程語(yǔ)言的分類中文編程語(yǔ)言易語(yǔ)言丙正正習(xí)語(yǔ)言Peryuyan擴(kuò)展閱讀:各種奇怪的中文編程語(yǔ)言/share/281067432語(yǔ)言是由大連大有吳濤易語(yǔ)言軟件有限責(zé)任公司自主研發(fā)的國(guó)產(chǎn)化漢語(yǔ)編程軟件。是2005年國(guó)家火炬計(jì)劃項(xiàng)目之一,是一種全中文全可視跨平臺(tái)的編程語(yǔ)言環(huán)境。網(wǎng)站最近更新時(shí)間:2010年12月//易語(yǔ)言示例局部變量

文本,

文本型

.局部變量

返回文本,

文本型

.判斷循環(huán)首

(整數(shù)

0)

文本

文本

字符

(取代碼

(“0”,

)

整數(shù)

2)

整數(shù)

整數(shù)

÷

2

.判斷循環(huán)尾

()

.計(jì)次循環(huán)首

(取文本長(zhǎng)度

(文本),

整數(shù))

返回文本

返回文本

取文本中間

(文本,

取文本長(zhǎng)度

(文本)

整數(shù)

1,

1)

.計(jì)次循環(huán)尾

()

返回

(返回文本)//丙正正語(yǔ)言示例空象棋檔::設(shè)定註解(字元*s,整數(shù)n){

若(n>=最大註解數(shù))

對(duì)於(;最大註解數(shù)<=n;最大註解數(shù)++)

註解[最大註解數(shù)]=NONE;

若(s==NULL或字串長(zhǎng)度(s)==0)

傳回;

若(註解[n]!=NONE)

刪除註解[n];

註解[n]=新字元[字串長(zhǎng)度(s)+1];

字串複製(註解[n],s);

}#包含“習(xí)語(yǔ)言系統(tǒng).接口”//習(xí)語(yǔ)言代碼示例整數(shù)類型主函數(shù)(){

文件類型*fp;

整數(shù)類型ch;

如果((fp=文件打開("練習(xí)13-2.文本","寫+"))==空指針){

格式輸出("無法打開文件:練習(xí)13-2.文本!");

暫停();

退出(1);}

格式輸出("輸入一串字符:\n");ch=輸入字符();

若符合條件(ch!=宏_換行鍵)重復(fù){

文件寫字符(ch,fp);ch=輸入字符();}

文件復(fù)位(fp);ch=文件讀字符(fp);

若符合條件(ch!=宏_文件結(jié)束)重復(fù){

輸出字符(ch);ch=文件讀字符(fp);}

格式輸出("\n");

文件關(guān)閉(fp);

暫停();返回0;}#!/usr/local/bin/perl

useLingua::Sinica::PerlYuYan;

用警兮用嚴(yán)。

印道

1..1

哉兮

印編曰雜申雜申矣

又曰ok矣

又曰1矣

亂曰

國(guó)無人莫我知兮又何懷乎故都

既莫足與為美政兮吾將從彭咸之所居#!/usr/local/bin/perl

#TheSieveofEratosthenes-埃拉托斯芬篩法

useLingua::Sinica::PerlYuYan;

用籌兮用嚴(yán)井涸兮無礙。

印曰最高矣又道數(shù)然哉。

截起吾純風(fēng)賦小入大合。

習(xí)予吾陣地並二至純風(fēng)。

當(dāng)起段賦取加陣地合始。

陣地賦篩始繫繫此雜段。

終陣地兮印正道次標(biāo)哉。

輸空接段點(diǎn)列終註泰來。

不同編程語(yǔ)言的特點(diǎn)假如編程語(yǔ)言是私家車/275/8112275.shtml假如編程語(yǔ)言是一把刀/2012-07/1342932451178729.html假如編程語(yǔ)言是宗教/content-794289.html

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論