高级程序设计语言.ppt
![高级程序设计语言.ppt_第1页](https://file7.zhuangpeitu.com/fileroot7/2020-1/15/98681c34-d98a-46e2-bde7-45699082b98f/98681c34-d98a-46e2-bde7-45699082b98f1.gif)
![高级程序设计语言.ppt_第2页](/images/s.gif)
![高级程序设计语言.ppt_第3页](/images/s.gif)
《高级程序设计语言.ppt》由会员分享,可在线阅读,更多相关《高级程序设计语言.ppt(15页珍藏版)》请在装配图网上搜索。
1、高级程序设计语言,华南理工大学 陈虎 博士 副教授 020-31984767 ,高级程序设计语言的实现方式,编译 将高级语言编写的程序转换为机器码; C,C+ 执行效率高、缺乏可移植性 解释 输入用高级语言编写的程序,指导计算机执行每个指定的动作 Java, Perl脚本语言 执行效率低、可移植性好,C+和Java的实现途径比较,C+源程序,Windows编译器,Linux编译器,Windows平台的 可执行代码,Linux平台的 可执行代码,C+源程序,Java编译器,Windows平台的 Java虚拟机,Linux平台的 Java虚拟机,Java字节码,平台无关,平台相关,高级程序设计的几
2、种主要类型,命令模式 对存储在内存中的数值进行操作的顺序指令 C, C+, BASIC, Pascal 函数模式 计算被表示为函数求解 Lisp 逻辑程序 由关于对象的事实和一组关于对象之间的规则构成 Prolog 面向对象 由交互的对象构成 Smalltalk,几种有代表性的程序设计语言,Fortran(FORmula TRANslation) 世界上第一个被正式推广使用的计算机高级语言 1954年提出 科学计算领域首选的计算机高级语言。 COBOL(Common Business Oriented Langauge) 最早的高级编程语言之一,世界上第一个商用语言。 世界上70的数据都是用C
3、OBOL语言处理的,并且90的ATM事务处理用的都是COBOL语言。 只要大型机存在,COBOL就不会消失,几种有代表性的程序设计语言,Ada语言 1983年成为 ANSI 标准 ANSI/MIL-STD-1815A 结构化程序设计语言的典范 美国军方软件开发语言 Pascal语言 瑞士苏黎士理工学院的尼古拉斯-沃斯(Niklaus Wirth)教授在1971年设计 强健数据类型概念、强制性的数据类型声明 最优秀的结构化程序设计的教学语言 Basic语言 1964年Dartmouth大学的John G. Kemeny和Thomas E. Kurtz发明 1975年,Bill Gates和Pau
4、l Allen编写了一个Basic解释器 一种适合初学者的语言,几种有代表性的程序设计语言,Prolog (Programming In Logic) 1972年法国科莫劳埃小组为了提高归结法的执行效率,研制出一个定理证明程序的程序执行器,标志着第一个逻辑程序设计语言PROLOG的诞生。 1974年及以后,R.科瓦尔斯基进一步从谓词逻辑的HORN子句的角度阐明PROLOG的理论基础,系统地提出逻辑程序设计的思想。 八十年代日本第五代计算机的核心语言 Lisp(LISt Processor) 1958年,由约翰麦卡锡(John McCarthy)创造的一种基于演算的函数式编程语言。 从Lisp分
5、支出来的Scheme、ML等语言在很多场合的火爆程度甚至超过了许多老牌明星。,几种有代表性的程序设计语言,C语言和C+语言 1969年,美国贝尔实验室的Ken Thompson为DEC PDP-7计算机设计了最早的UNIX;根据BCPL语言为UNIX设计了一种便于编写系统软件的B语言; 19721973年,贝尔实验室的Denis Ritchie改造了B语言,为其添加了数据类型的概念,将其命名为C。 1973年,Ken Thompson小组用C重新改写了UNIX的内核。与此同时,C语言的编译程序被移植到多种计算机上,迅速成为应用最广泛的系统程序设计语言 1983年,贝尔实验室的Bjarne St
6、roustrup博士对C语言进行改进和扩充,C+语言。 1998年正式发布了C+语言的国际标准ISO/IEC:98-14882。 C+支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目,同时,C+又是C语言的一个超集,这就使得许多C代码不经修改就可被C+编译通过。,几种有代表性的程序设计语言,Java语言 1990年代初, Sun Microsystems的James Gosling等人开发。最初被命名为Oak,作为一种小家用电器的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。 随着Internet的发展,Sun看到了Oak在计算机网络上的广阔应用前景
7、,在1995年5月以“Java”的名称正式发布了。Java伴随着Internet的迅猛发展而发展,逐渐成为重要的Internet编程语言。 是一种可以编写跨平台应用软件的面向对象的程序设计语言,C、C+、Java的进一步评述,评述者:Eric Raymond,开源运动的领袖人物 C语言 对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。 良好的可移植性 现有的很多程序可以产生非常棒的C代码 对于程序员来说具有无可替代的价值 能帮助你在硬件体系的层次上思考问题。 最出色的地方在于其高效和贴近机器,最糟糕的地方在它的内存管理地狱。,C+ C+的面向对象
8、特性看相去使其全面超越了C。但是历史并非如此。 为了与C兼容,C+被迫作出了很多重大的设计妥协,结果导致语言过分复杂。 C+并没有采用自动内存管理的策略。 面向对象方法并没有很好的达成人们当年的预期。C+的应用还是集中在GUI,游戏和多媒体工具包这些方面 最近几年,C+加入了很多非OO的思想,其异常思想类似Lisp,STL的出现是非常了不起的。 其实C+最根本的问题在于,它基本上只不过是另一种传统的语言。STL中的内存管理比先前的new/delete和C的方案要好的多,但是还是没有解决问题。对于很多应用程序而言,其OO特性并不明显,相比与C,除了增加复杂度之外没有获得很多好处。,Java语言
9、Java采用了自动内存管理 Java的平台无关性 支持面向对象设计带来的好处虽然不那么突出,不过也很值得赞赏,相比C+,其设计规模小而且简单 。 Java在某些方面过于复杂了。 除了内存之外的其他资源(比如互斥量和锁)管理起来很困难。 Java的线程不可靠,其I/O机制很强大,但是读取一个文本文件却非常繁琐。 Java没有管理库版本的机制 总体而言,我们可以说除了系统编程和对效率要求极高的程序之外,Java在大部分领域优于C+。,对于高级程序设计语言学习的一些建议,高级程序设计语言有很大的类似成分,精通一种语言就可以快速地学习其他语言,做到融会贯通; 注意各种语言的特点 在应用开发时,需要根据
10、应用的具体要求选择 没有最好的语言,只有最适合的语言,阅读与讨论,开放源代码,P.179-180 请收集资料,并准备论文 45人一组,论文长度大于2000字,注明参考文献 论题1:开放源代码运动 开放源代码运动的历史 开源代码对现代软件产业发展的影响 开源代码中的知识产权保护,论题2:微软公司涉嫌垄断问题,收集微软公司涉嫌垄断的案例 为什么很多公司和政府认为微软公司涉嫌垄断? 你认为微软公司不开放源代码的策略是否有助于知识产权保护? 一些材料: 1998年美国太阳微电子公司向欧盟委员会的投诉。随后的2004年,欧盟委员会认定,微软公司凭借自己在个人电脑操作系统领域的优势地位打压竞争对手,除要求微软公司限期提供不带自身媒体播放器的windows服务器软件行业的竞争对手开放兼容技术信息外,还对其开出了4.97亿欧元的巨额罚单; 2007年10月24日,欧盟委员会负责竞争事务的内莉克勒斯斯米特委员向新闻媒体表示,美国微软公司已同意完全履行欧盟年对其作出的反垄断处罚决定。对此,微软将共付出了高达7.77亿欧元的罚款,还将在商业操作方式上作出三大改变: 微软将向开放源代码软件开发商提供兼容技术信息; 兼容技术信息的特许费用调整为一次性支付的一万欧元; 包括专利在内的兼容技术信息全球特许费率也由原先的5.95%大幅削减至0.4%。,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工过程开发导论教学课件
- PXGL05SSGF下的运营管理课件
- (部编版教材)三年级上册《金色的草地》经典ppt课件
- 第二课-展示自己的职业风采课件
- (新课标)高三化学一轮总复习第6章化学反应与能量变化同步测试卷ppt课件
- (新课标)高考数学大一轮复习第一章集合与常用逻辑用语1.1集合ppt课件文
- 第五讲法家思想现代解读课件
- 第二章-人工晶体的生长2122课件
- 第三章学前儿童身体保健教育分析课件
- (部编版)祖父的园子优秀ppt课件
- 第七章老年心理学-课件
- 趣味竞赛—成语猜猜看82张课件
- 化工过程开发与设计-绪论-第1章课件
- 路基路面弯沉试验(贝克曼梁)课件
- (部编版)小学语文一级上册《项链》教学ppt课件