1-计算机程序设计语言(精品·公开课件).ppt

1-计算机程序设计语言(精品·公开课件).ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机程序设计语言 发展与比较 郭东伟 吉林大学 2010年3月18日 1 目录 程序设计语言的发展史 不同类型的程序设计语言 当前流行语言分析 国际上 国内 语言间的对比 C++ vs Java 计算机语言 用于人与计算机之间交互的语言。是人与计算机之间传递信息的媒介。 程序设计语言 低级语言 高级语言 专用语言 命令语言 作业控制语言 SQL 描述语言 HTML、XML 2 3 编程语言分类 低级语言-汇编语言 函数式程序设计语言 逻辑程序设计语言 通用程序设计语言 面向过程的程序设计语言 面向对象的程序设计语言 4 计算机编程语言谱系图 5 古典时代 FORTRAN 第一个高级语言,主要用于科学计算 ALGOL58/ALGOL60 严谨的现代语言的鼻祖之一 在20年间,成为出版刊物中的唯一语言 主要贡献:BNF 没有得到广泛实际应用 COBOL 商务记录处理 6 中世纪-1:过程化语言逐渐成熟 BASIC(1963) 第一个结合分时操作,简单易学的语言 PL/1 IBM为主设计的一个通用语言 结合ALGOL,FORTRAN,COBOL既一些其他新特性的通用语言 第一次提出:并发机制、异常处理、过程化递归、指针 过于复杂,部分成功 Ada 历史上最大规模的语言设计(美国军方) 7 中世纪-2: ALGOL的后继 Pascal 成功的教学语言 Delphi C语言 与unix共同成长 简单、高效、相信程序员 目前系统级程序设计首选语言 8 工业时代的开始 SIMULA67 数据抽象的开始,第一次提出class Smalltalk 真正的面向对象程序设计语言(数据抽象、基础和动态绑定) 图形化的交互语言(系统) 特点 万物皆对象,包括控制流 使用消息在对象间通信 9 工业时代 C++ 继承了C语言的灵活特征 仍然强调效率 从Eiffel到D语言 Java 从嵌入式编程过渡到web应用 更加严谨的面向对象机制 C# 与微软的dot net紧密结合 10 后工业时代 脚本语言 unix系统脚本语言 Perl、Python、Ruby、Lua 动态类型语言 WEB服务器开发语言 JSP PHP ASP WEB页面端开发语言 Javascript 几种现代流行语言谱系 11 C语言 C++ Java C# VB Asp JSP PHP Python Perl Ruby Pascal Delphi Objective-C JavaScript Asp.NET Basic 12 函数式程序设计语言 Lisp Logo、Scheme、Common Lisp Lisp特点 万物皆函数 基本数据结构:表 基本控制流程:递归 解释语言 主要用于人工智能,也可用于各种其他用途 13 逻辑程序设计语言 Prolog 1970’s 在1980’s日本人工智能计划时得到关注 特点 基于谓词演算,给出事实和规则 实现定理证明 只需要说明问题,无需指定流程 SQL在一定程度也有这种特点 过程式语言的基本特征 变量、作用域和生存期 数据类型(记录和指针) 表达式与赋值语句 控制流(Goto is harmful) 子程序与递归 异常处理 14 15 解释性语言 vs. 编译性语言 执行流程 性能 目前计算机硬件的发展使得解释程序的性能代价在很多场合可以忽略 跨平台性:解释程序与虚拟机 灵活性 自解释 运行时修改、创建程序 自执行 目前解释性语言的应用比例逐渐提高 静态类型语言 vs. 动态类型语言 变量的数据类型是在运行前静态确定的,还是运行时动态确定的,称之为静态类型语言(Statically Typed Languages)和动态类型语言(Dynamically Typed Languages) 动态类型语言具有更大的灵活性,很适于写出通用程序。而静态类型语言很难做到这一点(如C语言中void *和C++中的模板)。 动态类型的缺点在于发现错误的能力较差、运行代价高 包括面向对象中的多态类的判定。 16 动态语言 一类在运行时可以改变其结构的语言:例如可以动态执行生成的代码,产生新的函数、对象定义、已有的函数可以被删除或是其他结构上的变化等。 ECMAScript(JavaScript)是一个动态语言的代表,除此之外如PHP、Ruby、Python等也都属于动态语言。 动态语言是一种可“自创造”的语言,典型的都有eval这样的语法要素。 17 关于类型的几个概念 动态语言大部分是动态类型语言 动态语言和大部分动态类型语言都是解释执行的,但解释语言不一定是动态语言(Basic),也不一定是动态类型语言(Java)。 静态类型语言可以是“强类型的”或是“弱类型的” 可以在兼容类型(包括类)之间进行隐含的或显式的类型转换,部分语言可以进行强制类型转换。 18 1

文档评论(0)

花好月圆 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档