欢迎来到天天文库
浏览记录
ID:39387696
大小:1.26 MB
页数:41页
时间:2019-07-02
《计算机程序设计语言x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机程序设计语言发展与比较郭东伟吉林大学2010年3月18日1目录程序设计语言的发展史不同类型的程序设计语言当前流行语言分析国际上国内语言间的对比C++vsJava计算机语言用于人与计算机之间交互的语言。是人与计算机之间传递信息的媒介。程序设计语言低级语言高级语言专用语言命令语言作业控制语言SQL描述语言HTML、XML23编程语言分类低级语言-汇编语言函数式程序设计语言逻辑程序设计语言通用程序设计语言面向过程的程序设计语言面向对象的程序设计语言4计算机编程语言谱系图5古典时代FORTRAN第一个高级语言,主要用于科学计算ALGOL58/ALGOL60严谨的现代语言的鼻祖之一在20年间,成
2、为出版刊物中的唯一语言主要贡献:BNF没有得到广泛实际应用COBOL商务记录处理6中世纪-1:过程化语言逐渐成熟BASIC(1963)第一个结合分时操作,简单易学的语言PL/1IBM为主设计的一个通用语言结合ALGOL,FORTRAN,COBOL既一些其他新特性的通用语言第一次提出:并发机制、异常处理、过程化递归、指针过于复杂,部分成功Ada历史上最大规模的语言设计(美国军方)7中世纪-2:ALGOL的后继Pascal成功的教学语言DelphiC语言与unix共同成长简单、高效、相信程序员目前系统级程序设计首选语言8工业时代的开始SIMULA67数据抽象的开始,第一次提出classSmallt
3、alk真正的面向对象程序设计语言(数据抽象、基础和动态绑定)图形化的交互语言(系统)特点万物皆对象,包括控制流使用消息在对象间通信9工业时代C++继承了C语言的灵活特征仍然强调效率从Eiffel到D语言Java从嵌入式编程过渡到web应用更加严谨的面向对象机制C#与微软的dotnet紧密结合10后工业时代脚本语言unix系统脚本语言Perl、Python、Ruby、Lua动态类型语言WEB服务器开发语言JSPPHPASPWEB页面端开发语言Javascript几种现代流行语言谱系11C语言C++JavaC#VBAspJSPPHPPythonPerlRubyPascalDelphiObjecti
4、ve-CJavaScriptAsp.NETBasic12函数式程序设计语言LispLogo、Scheme、CommonLispLisp特点万物皆函数基本数据结构:表基本控制流程:递归解释语言主要用于人工智能,也可用于各种其他用途13逻辑程序设计语言Prolog1970’s在1980’s日本人工智能计划时得到关注特点基于谓词演算,给出事实和规则实现定理证明只需要说明问题,无需指定流程SQL在一定程度也有这种特点过程式语言的基本特征变量、作用域和生存期数据类型(记录和指针)表达式与赋值语句控制流(Gotoisharmful)子程序与递归异常处理1415解释性语言vs.编译性语言执行流程性能目前计算
5、机硬件的发展使得解释程序的性能代价在很多场合可以忽略跨平台性:解释程序与虚拟机灵活性自解释运行时修改、创建程序自执行目前解释性语言的应用比例逐渐提高静态类型语言vs.动态类型语言变量的数据类型是在运行前静态确定的,还是运行时动态确定的,称之为静态类型语言(StaticallyTypedLanguages)和动态类型语言(DynamicallyTypedLanguages)动态类型语言具有更大的灵活性,很适于写出通用程序。而静态类型语言很难做到这一点(如C语言中void*和C++中的模板)。动态类型的缺点在于发现错误的能力较差、运行代价高包括面向对象中的多态类的判定。16动态语言一类在运行时可以
6、改变其结构的语言:例如可以动态执行生成的代码,产生新的函数、对象定义、已有的函数可以被删除或是其他结构上的变化等。ECMAScript(JavaScript)是一个动态语言的代表,除此之外如PHP、Ruby、Python等也都属于动态语言。动态语言是一种可“自创造”的语言,典型的都有eval这样的语法要素。17关于类型的几个概念动态语言大部分是动态类型语言动态语言和大部分动态类型语言都是解释执行的,但解释语言不一定是动态语言(Basic),也不一定是动态类型语言(Java)。静态类型语言可以是“强类型的”或是“弱类型的”可以在兼容类型(包括类)之间进行隐含的或显式的类型转换,部分语言可以进行强
7、制类型转换。1819脚本语言介于文本描述语言(HTML等)和高级编程语言之间一般都以文本形式存在,类似于一种命令最简单的脚本语言就是配置文件执行过程脚本语言是一种解释性的语言脚本语言一般都有相应的脚本引擎来解释执行脚本语言主要指该语言面向的开发环境,脚本语言一般局限在某一个特定环境。编程语言的语法和规则更为严格和复杂,脚本语言相对灵活语言关注情况排名PositionMar2009PositionM
此文档下载收益归作者所有