二.高级语言时期(1954-至今) ■高级编程语言根据执行机制不同可分成两类:静态语言和脚本语言,静态语言采 用编译方式执行,脚本语言采用解释方式执行。例如,C语言是静态语言, Python语言是脚本语言。 ■采用编译执行的编程语言是静态语言,如C语言、Java语言;采用解释执行的编 程语言是脚本语言,如JavaScript语言、PHP语言
二. 高级语言时期(1954-至今) ◼ 高级编程语言根据执行机制不同可分成两类:静态语言和脚本语言,静态语言采 用编译方式执行 , 脚 本 语 言 采 用 解 释 方 式 执 行 。 例 如 , C语 言 是 静 态 语 言 , Python语言是脚本语言。 ◼ 采用编译执行的编程语言是静态语言,如C语言、Java语言;采用解释执行的编 程语言是脚本语言,如JavaScript语言、PHP语言
编译与解释 ■编译是将源代码转换成目标代码的过程,通常,源代码是高级语言代码,目标代 码是机器语言代码,执行编译的计算机程序称为编译器 高级语言 编译器 机器语言 源代码 目标代码 +! 输入 程序执行 输出 解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。执行解释的 计算机程序称为解释器。 高级语言 源代码 解释器 输出 输入
编译与解释 ◼ 编译是将源代码转换成目标代码的过程,通常,源代码是高级语言代码,目标代 码是机器语言代码,执行编译的计算机程序称为编译器 高级语言 源代码 编译器 机器语言 目标代码 输入 程序执行 输出 ◼ 解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。执行解释的 计算机程序称为解释器。 高级语言 源代码 输入 解释器 输出
编译与解释 编译是一次性地翻译,一旦程序被编译,不再需要编译程序或者源代码。 ■对于相同源代码,编译所产生的目标代码执行速度更快。 ■目标代码不需要编译器就可以运行,在同类型操作系统上使用灵活。 解释则在每次程序运行时都需要解释器和源代码。 ■解释执行需要保留源代码,程序纠错和维护十分方便。 ■只要存在解释器,源代码可以在任何操作系统上运行,可移植性好
编译与解释 编译是一次性地翻译,一旦程序被编译,不再需要编译程序或者源代码。 ◼ 对于相同源代码,编译所产生的目标代码执行速度更快。 ◼ 目标代码不需要编译器就可以运行,在同类型操作系统上使用灵活。 解释则在每次程序运行时都需要解释器和源代码。 ◼解释执行需要保留源代码,程序纠错和维护十分方便。 ◼只要存在解释器,源代码可以在任何操作系统上运行,可移植性好
10.1.2编程语言的发展趋势 高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程 化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发 展为产业化、流水线式的工业化生产。 60年代中后期,软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、 评估标准,产生的软件含有错误而无法使用,1969年,提出了结构化程序设计方法。 1970年,第一个结构化程序设计语言一Pascali语言出现,标志着结构化程序设计时期 的开始。80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对 象的程序设计
10.1.2 编程语言的发展趋势 高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程 化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发 展为产业化、流水线式的工业化生产。 60年代中后期,软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、 评估标准,产生的软件含有错误而无法使用,1969年,提出了结构化程序设计方法。 1970年,第一个结构化程序设计语言—Pascal语言出现,标志着结构化程序设计时期 的开始。80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对 象的程序设计
10.1.2编程语言的发展趋势 几十年来,硬件性能按成干上万倍的规模增长,软件工具与框架也有数倍乃至十数 的增长,如果我们把编程语言自身与它所依赖(或由它拓展的)运行环境区分开来,剩 下的其实主要是平台路线之争,都与具体应用相关。 高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么, 程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言
10.1.2 编程语言的发展趋势 几十年来,硬件性能按成千上万倍的规模增长,软件工具与框架也有数倍乃至十数 的增长,如果我们把编程语言自身与它所依赖(或由它拓展的)运行环境区分开来,剩 下的其实主要是平台路线之争,都与具体应用相关。 高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么, 程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言