高级程序设计语言.ppt_第1页
高级程序设计语言.ppt_第2页
高级程序设计语言.ppt_第3页
高级程序设计语言.ppt_第4页
高级程序设计语言.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级程序设计语言 华南理工大学陈虎博士副教授020 31984767tommychen74 高级程序设计语言的实现方式 编译将高级语言编写的程序转换为机器码 C C 执行效率高 缺乏可移植性解释输入用高级语言编写的程序 指导计算机执行每个指定的动作Java Perl脚本语言执行效率低 可移植性好 C 和Java的实现途径比较 C 源程序 Windows编译器 Linux编译器 Windows平台的可执行代码 Linux平台的可执行代码 C 源程序 Java编译器 Windows平台的Java虚拟机 Linux平台的Java虚拟机 Java字节码 平台无关 平台相关 高级程序设计的几种主要类型 命令模式对存储在内存中的数值进行操作的顺序指令C C BASIC Pascal函数模式计算被表示为函数求解Lisp逻辑程序由关于对象的事实和一组关于对象之间的规则构成Prolog面向对象由交互的对象构成Smalltalk 几种有代表性的程序设计语言 Fortran FORmulaTRANslation 世界上第一个被正式推广使用的计算机高级语言1954年提出科学计算领域首选的计算机高级语言 COBOL CommonBusinessOrientedLangauge 最早的高级编程语言之一 世界上第一个商用语言 世界上70 的数据都是用COBOL语言处理的 并且90 的ATM事务处理用的都是COBOL语言 只要大型机存在 COBOL就不会消失 几种有代表性的程序设计语言 Ada语言1983年成为ANSI标准ANSI MIL STD 1815A结构化程序设计语言的典范美国军方软件开发语言Pascal语言瑞士苏黎士理工学院的尼古拉斯 沃斯 NiklausWirth 教授在1971年设计强健数据类型概念 强制性的数据类型声明最优秀的结构化程序设计的教学语言Basic语言1964年Dartmouth大学的JohnG Kemeny和ThomasE Kurtz发明1975年 BillGates和PaulAllen编写了一个Basic解释器一种适合初学者的语言 几种有代表性的程序设计语言 Prolog ProgrammingInLogic 1972年法国科莫劳埃小组为了提高归结法的执行效率 研制出一个定理证明程序的程序执行器 标志着第一个逻辑程序设计语言PROLOG的诞生 1974年及以后 R 科瓦尔斯基进一步从谓词逻辑的HORN子句的角度阐明PROLOG的理论基础 系统地提出逻辑程序设计的思想 八十年代日本第五代计算机的核心语言Lisp LIStProcessor 1958年 由约翰 麦卡锡 JohnMcCarthy 创造的一种基于 演算的函数式编程语言 从Lisp分支出来的Scheme ML等语言在很多场合的火爆程度甚至超过了许多老牌明星 几种有代表性的程序设计语言 C语言和C 语言1969年 美国贝尔实验室的KenThompson为DECPDP 7计算机设计了最早的UNIX 根据BCPL语言为UNIX设计了一种便于编写系统软件的B语言 1972 1973年 贝尔实验室的DenisRitchie改造了B语言 为其添加了数据类型的概念 将其命名为C 1973年 KenThompson小组用C重新改写了UNIX的内核 与此同时 C语言的编译程序被移植到多种计算机上 迅速成为应用最广泛的系统程序设计语言1983年 贝尔实验室的BjarneStroustrup博士对C语言进行改进和扩充 C 语言 1998年正式发布了C 语言的国际标准ISO IEC 98 14882 C 支持面向对象的程序设计方法 特别适合于中型和大型的软件开发项目 同时 C 又是C语言的一个超集 这就使得许多C代码不经修改就可被C 编译通过 几种有代表性的程序设计语言 Java语言1990年代初 SunMicrosystems的JamesGosling等人开发 最初被命名为Oak 作为一种小家用电器的编程语言 来解决诸如电视机 电话 闹钟 烤面包机等家用电器的控制和通讯问题 随着Internet的发展 Sun看到了Oak在计算机网络上的广阔应用前景 在1995年5月以 Java 的名称正式发布了 Java伴随着Internet的迅猛发展而发展 逐渐成为重要的Internet编程语言 是一种可以编写跨平台应用软件的面向对象的程序设计语言 C C Java的进一步评述 评述者 EricRaymond 开源运动的领袖人物C语言对于那些要求最高的效率 良好的实时性 或者与操作系统内核紧密关联的程序来说 C仍然是很好的选择 良好的可移植性现有的很多程序可以产生非常棒的C代码对于程序员来说具有无可替代的价值能帮助你在硬件体系的层次上思考问题 最出色的地方在于其高效和贴近机器 最糟糕的地方在它的内存管理地狱 C C 的面向对象特性看相去使其全面超越了C 但是历史并非如此 为了与C兼容 C 被迫作出了很多重大的设计妥协 结果导致语言过分复杂 C 并没有采用自动内存管理的策略 面向对象方法并没有很好的达成人们当年的预期 C 的应用还是集中在GUI 游戏和多媒体工具包这些方面最近几年 C 加入了很多非OO的思想 其异常思想类似Lisp STL的出现是非常了不起的 其实C 最根本的问题在于 它基本上只不过是另一种传统的语言 STL中的内存管理比先前的new delete和C的方案要好的多 但是还是没有解决问题 对于很多应用程序而言 其OO特性并不明显 相比与C 除了增加复杂度之外没有获得很多好处 Java语言Java采用了自动内存管理Java的平台无关性支持面向对象设计带来的好处虽然不那么突出 不过也很值得赞赏 相比C 其设计规模小而且简单 Java在某些方面过于复杂了 除了内存之外的其他资源 比如互斥量和锁 管理起来很困难 Java的线程不可靠 其I O机制很强大 但是读取一个文本文件却非常繁琐 Java没有管理库版本的机制总体而言 我们可以说除了系统编程和对效率要求极高的程序之外 Java在大部分领域优于C 对于高级程序设计语言学习的一些建议 高级程序设计语言有很大的类似成分 精通一种语言就可以快速地学习其他语言 做到融会贯通 注意各种语言的特点在应用开发时 需要根据应用的具体要求选择没有最好的语言 只有最适合的语言 阅读与讨论 开放源代码 P 179 180请收集资料 并准备论文4 5人一组 论文长度大于2000字 注明参考文献论题1 开放源代码运动开放源代码运动的历史开源代码对现代软件产业发展的影响开源代码中的知识产权保护 论题2 微软公司涉嫌垄断问题 收集微软公司涉嫌垄断的案例为什么很多公司和政府认为微软公司涉嫌垄断 你认为微软公司不开放源代码的策略是否有助于知识产权保护 一些材料 1998年美国太阳微电子公司向欧盟委员会的投诉 随后的2004年 欧盟委员会认定 微软公司凭借自己在个人电脑操作系统领域的优势地位打压竞争对手 除要求微软公司限期提供不带自身媒体播放器的windows服务器软件行业的竞争对手开放兼容技术信息外 还对其开出了4 97亿欧元的巨额罚单 2007年10月24日 欧盟委员会负责竞争事务的内莉 克勒斯 斯米特委员向新闻媒体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论