




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编程语言的发展趋势编程语言的历史、现状和未来,计算机与信息学院王安慧snowfield,据说全世界存在过计算机编程语言超过2500种。你可以在下面的网站查询到约2500种编程语言的相关信息。/nkinners/LangList/Extras/search.htm,关于编程语言的几个问题,编程语言可以分为哪些种类?优秀的编程语言应该是什么样?导致编程语言流行的原因?最流行的编程语言是什么?如何选择适合自己的开发语言?,提纲编程语言发展历史的简单回顾编程语言的现状编程语言的发展趋势编程语言的选择,编程语言发展历史的简单回顾,低级语言时代高级语言时代面向对象时代,低级语言时代(19461953),光电阅读机将记录在穿孔卡片上数据读入计算机,计算的结果则利用打孔机在卡片上打出的一些小孔,就表示输出的数据。卡片上的小孔就组成了计算机和专家明白但绝大多数人不明白的天书机器语言,也就是完全用0,1代码写的程序。,机器语言,汇编语言,由于机器语言的难易理解,莫奇莱等人开始想到用助记符来代替0,1代码,于是汇编语言出现了section.datamsgdbHello,world!,0 xAlenequ$-msg;section.text;global_start;_start:;,高级语言时代(1954至今),随着世界上第一个高级语言fortran的出现,新的编程语言开始不断涌现出来。各有特色,各有优势,随着时间的检验,一些流行至今,一些则逐渐消失,常见的高级编程语言ALGOL1960,第一个结构化程序设计语言推出C1972年,丹尼斯里奇以B语言为基础开发出C语言目前世界上最常用的程序语言之一。C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑,开启了一个时代的C语言(宣传图),常见的高级编程语言Basic1964年美国达特茅斯学院的两个教员(约翰.凯梅尼(J.Kemeny)和托马斯卡茨(T.Kurtz)开发了basic语言该语言只有26个变量名,17条语句,12个函数和3个命令这门语言叫做初学者通用符号指令代码”BeginnersAllpurposeSymbolicIntructionCode,常见的高级编程语言Pascal1967年,NiklausWirth开始开发PASCAL语言,1971年完成。主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强,可以被方便地用于描述各种算法与数据结构有益于培养良好的程序设计风格和习惯PASCAL是一个重要的里程碑结构化程序设计概念的语言,面向对象时代(1990s初至今),面向对象程序设计(Object-OrientedProgramming,简称OOP)是一种起源于六十年代的Simula语言,发展已经将近三十年的程序设计思想。其自身理论已经十分完善,并被多种面向对象程序设计语言实现,常见的面向对象编程语言VBBasic的继续DelphiPascal的继续C+C语言扩展VC+BorlandC+BuilderQtJava最为流行的面向对象语言C#新一代的面向对象语言,总结,1、Java霸占了企业级应用市场,一部分移动开发(J2ME)和web开发,但是Java在客户端的图形接口方面失败连连,从Applet、AWT到Swing,Java似乎一直无法为客户端提供堪用的解决方案,以致不断败退,造成了目前在客户端使用Java应用程序的应用系统仍然非常稀少。使用者排名第一,2、C和C+仍然是嵌入式开发和系统给开发的利器。操作系统、驱动程序、各种游戏大都是他们的开发的地位不可替代,3、C#用来做WEB、桌面、控制台等程序都可以,和java类似。迅速崛起,4、VB、delphi擅长于快速的桌面程序开发,数据库开发,例如进销存软件逐渐下滑,5、其他:perl、python、ruby,jsp,javascript,php等等也占据了一定的市场,编程语言的现状,编程语言的现状,几十年来硬件与编程语言的发展的对比从TOIBE排行榜看编程语言的现状,过去31年个人PC机硬件发展,几十年来编程语言进步,自1953年,第一个高级编程语言产生1972年,C语言诞生,至今整整40年,C语言的发展,几十年来编程语言进步,1972年,诞生1978年,贝尔实验室正式发表C语言1983年,着手制定标准1989年,C语言标准被批准,即ANSIC1990年,ISO接受ANSIC为ISOC的标准1999年,ISO又对C标准标准修订形成,C992011年12月8日,ISO正式公布C语言新的国际标准草案:ISO/IEC9899:2011,即C11。自ANSI标准化C语言后至今,ISO修订对于C语言标准的改动非常小。,/*用C语言编写的打印华氏温度与摄氏温度对照表代码*/#includemain()intfahr,celsius;intlower,upper,step;lower=0;upper=300;step=20;fahr=lower;while(fahr=upper)celsius=5*(fahr-32)/9;printf(%dt%dn,fahr,celsius);fahr=fahr+step;,/用java语言编写的打印华氏温度与摄氏温度对照表代码packagetest;publicclassTestpublicstaticvoidmain(Stringargs)intfahr,celsius;intlower,upper,step;lower=0;upper=300;step=20;fahr=lower;while(fahr=upper)celsius=5*(fahr-32)/9;System.out.printf(%dt%dn,fahr,celsius);fahr=fahr+step;,#用Python语言编写的打印华氏温度与摄氏温度对照表代码lower=0upper=300step=20fahr=lowerwhile(fahr=upper):celsius=5*(fahr-32)/9print(%st%s%(fahr,celsius)fahr=fahr+step,小结编程语言本身的发展非常缓慢。期间出现了一些东西,例如面向对象等等,但是远没有好上1000倍。过去的努力没有体现在编程语言上,而是体现在框架及工具等方面了。如今我们使用的框架,它们的体积的确有1000倍的增长。例如当年TurboPascal所带的框架大约有100个功能,而现在的.NETFramework里则有一万个类,十万个方法,的确有1000倍的增长。与此类似,如果你观察现在的IDE,我们现在已经有了无数强大的功能,例如语法提示,重构,调试器,探测器等等,这方面的新东西有很多。与此相比,编程语言的改进的确很不明显。,从TIOBE排行榜看编程语言的现状,TIOBE编程语言排行榜世界排名前20的编程语言五大流行编程语言的发展趋势,编程语言的现状,TiobeTIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内开发语言的走势仍具有重要参考意义。,排名110的编程语言,排名1120的编程语言,VeryLongTermHistoryofthetop10programminglanguages,Thelongtermtrendsforthetop10programminglanguages,编程语言的发展趋势,编程语言的发展趋势,思考:影响编程语言未来发展的因素?,编程语言未来发展趋势,动态化计算机能够处理的事交给计算机处理声明式及函数式编程风格告诉计算机What而不是How并发编程多核时代的必然要求观点来自AndersHejlsberg编程语言的发展趋势及未来方向的讲座,编程语言未来发展趋势,未来计算机编程语言特点总体向支持动态、声明式、并发支持,易于使用的多范式语言发展一些语言会同时支持面向对象、面向过程、动态、声明、函数式以及并发编程,排名2150的语言,其中红色为动态语言,蓝色为函数式语言,安德斯海尔斯伯格,安德斯海尔斯伯格(AndersHejlsberg,1960.12),丹麦人,TurboPascal编译器的主要作者,Delphi和.NET之父比尔盖茨评价:“Anders在C#创建中所做的努力将会改变现在的软件开发方式,并将在以后的十年继续产生影响。”,例:找出所有100以内能被3整除的数C语言实现核心代码:inti,a100;for(i=0;i=right)return;swap(v,left,(left+right)/2);last=left;for(i=left+1;i=right;i+)if(vi=最大註解數)對於(;最大註解數=n;最大註解數+)註解最大註解數=NONE;若(s=NULL或字串長度(s)=0)傳回;若(註解n!=NONE)刪除註解n;註解n=新字元字串長度(s)+1;字串複製(註解n,s);,#包含“习语言系统.接口”/习语言代码示例整数类型主函数()文件类型*fp;整数类型ch;如果(fp=文件打开(练习13-2.文本,写+)=空指针)格式输出(无法打开文件:练习13-2.文本!);暂停();退出(1);格式输出(输入一串字符:n);ch=输入字符();若符合条件(ch!=宏_换行键)重复文件写字符(ch,fp);ch=输入字符();文件复位(fp);ch=文件读字符(fp);若符合条件(ch!=宏_文件结束)重复输出字符(ch);ch=文件读字符(fp);格式输出(n);文件关闭(fp);暂停();返回0;,#!/usr/local/bin/perluseLingua:Sinica:PerlYuYan;用警兮用嚴。印道1.1哉兮印編曰雜申雜申矣又曰ok矣又曰1矣亂曰國無人莫我知兮又何懷乎故都既莫足與為美政兮吾將從彭咸之所居,#!/usr/local/bin/perl#TheSieveofEratosthenes-埃拉托斯芬篩法useLingua:Sinica:PerlYuYan;用籌兮用嚴井涸兮無礙。印曰最高矣又道數然哉。截起吾純風賦小入大合。習予吾陣地並二至純風。當起段賦取加陣地合始。陣地賦篩始繫繫此雜段。終陣地兮印正道次標哉。輸空接段點列終註泰來。,不同编程语言的特点,假如编程语言是私家车,值得关注的一些编程语言,(支持)面向对象编程语言C/C+QtJavaC#VB,值得关注的一些编程语言,JVM平台下的其它语言groovyScalaJVM上的下一个Java未受重视却潜力巨大的Android编程语言,值得关注的一些编程语言,动态语言(脚本语言)pythonrubyperlgroovyscalalua,值得关注的一些编程语言,纯函数式语言haskellF#lispscheme,值得关注的一些编程语言,支持函数式编程的语言scalapython,值得关注的一些编程语言,适合儿童使用的编程语言LOGO语言Scratch语言,编程语言和开发工具的选择,选择编程语言需要考虑的几个因素易用语言本身框架的支持开发工具的支持
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论