
第页PL简史ppt课件.ppt
10页1.1 PL简史•50年代高级语言出现•60年代奠基性研究•70年代完善的软件工程工具•80年代面向对象发展•90年代多范型、持久化、多媒体、平台无关•并行、声明式程序设计时代1数学表示法单元记录设施符号名称1950数据规格说明结构化控制COBOL(1958)1960非算法规格说明交互使用结构化数据面向对象编程1970并发数据抽象19801985符 号 汇编 ( 1950年代中期 )FORTRAN(1956)ALGOL-58APL (1962)ALGOL-60MAD(1959)RPG(1964)BASIC(1964)CPL(1963)ALGOL-68 BCPL(1967)PL/1 (1966)Simula (1967)Pascal(1973)B(1970)C (1972)并发Pascal(1975)ModulaCLU(1977)SmalltalkAda(1982)True BASIC(1980s)C++1995Ada(95)多范式型java1996平台无关2最新语言趋势•并行:如何做并行程序设计是每个计算工作者的挑战•狭义摩尔定律失效•并行系统的可靠性•并行系统开发效率•脚本语言:计算机应用的崛起•WEB服务端:PHP,ASP,JSP等•Web客户端:Javascipt•广泛应用开发:Perl,Python,Ruby•专用脚本语言:Tcl/tk•丰富、灵活、快速开发、解释执行、社区•软件设计:基于组件、服务、AOP的软件开发31.1 PL简史4 商用 科学 系统 模拟 实时 COBOL FORTRAN BLISS GPSS CHILL各种表单语言 C,C++ C,C++ SIMULA GYPSY嵌入式 人工智能 处理命令 教学 正文 Ada Prolog Sell Pascal SNOBOL LISP TCL PERL BASIC LOGO Word打印出版 串、数组、表 数据库Postscript APL SQL TeX SNOBOL LISP1.2 语言分类•机器依赖 –低、高、中•应用领域5实现:方式常见的说法是(高级)语言的实现有两种方式,编译和解释。
•编译:把源程序编译为机器语言目标程序后执行•解释:用机器语言实现一个源语言的解释器,由这个解释器直接解释执行源语言程序其实事情并不这么简单!6实现:方式语言实现方式多种多样,纯粹的编译或纯粹的解释只是其中的两个极端•C、Fortran语言通常的实现方式可以认为是较纯粹的编译方式•早期的BASIC,DOS的bat文件,现在有些脚本语言实现,采用的基本上时纯粹的解释方式第7页 7实现:实例人们常说Lisp是解释的,不准确!Lisp的基本实现方式:•先把源程序翻译成一种内部形式(类似 于语法树的数据结构)•由解释器解释这种内部形式(遍历数据结构, 实现程序所描述的行为)许多Lisp系统的翻译器比较简单(翻译较浅) 这只是基本实现方式目前也有许多Lisp系统采用更复杂的实现方式,例如:即时编译(Just-In-TimeCompilation)和动态编译(Dynamic Compilation)技术第8页 8•程序范型–单范型/多范型•命令式(过程式) FORTRAN、COBOL、PL/1、PASCAL、Ada-83•面向对象 Smalltalk、Java、Eiffel•数据流 Val•函数式 ML LISP•逻辑式 Prolog•关系式 SQL–多范型Nail (1983) G (1986) C++、Ada-95 、CLOS续91.3 重要语言18种•FORTRAN、COBOL、ALGOL、PL/1•LISP、ALGOL-68、BASIC、PASCAL•APL、Ada、Simula、C/C++•Smalltalk、ML、Prolog、SQL、Java10。
