《高级程序设计语言原理》第一章 程序设计语言研究

高级程库设计语言原理 梅宏
高级程序设计语言原理 梅 宏

课程目的: 1.了解高级程序设计语言发展历史及现状 2.了解高级程序设计语言的基本概念和原理 3.了解高级程序设计语言实现技术及原理 4.了解若干主要的高级程序设计语言 授课方式: 课堂讲授和研究分析论文相结合 教材与参考书: 1. Terrence W. Pratt marvin V Zelkowitz, Programming Languages: Design and Implementation, 3rd Edition, Prentice Hall, Englewood Cliffs, New Jersey, 1996 2.招兆铿,朱洪,程序设计语言原理,上海科技文献出 版社,1998 3.徐家福,吕建,软件语言及其实现,科学出版社, 2000 考核方法 研究分析报告占30%,期末考试占70%
课程目的: 1.了解高级程序设计语言发展历史及现状 2.了解高级程序设计语言的基本概念和原理 3.了解高级程序设计语言实现技术及原理 4.了解若干主要的高级程序设计语言 授课方式: 课堂讲授和研究分析论文相结合 教材与参考书: 1. Terrence W. Pratt & Marvin V. Zelkowitz, Programming Languages: Design and Implementation, 3rd Edition, Prentice Hall, Englewood Cliffs, New Jersey, 1996 2. 招兆铿,朱洪,程序设计语言原理,上海科技文献出 版社,1998 3. 徐家福,吕建,软件语言及其实现,科学出版社, 2000 考核方法: 研究分析报告占30%,期末考试占70%

第一章 程序设计语言研宠
第一章 程序设计语言研究

什么是语言: 语言是信息交流工具。有如下几种定义: 1、 Webster字典定义 An artificially constructed primarily formal system of signs and symbols(as symbolic logic) including rules for the formation of admissible expressions and for their transformation 基于一组记号与符号由人工构造的(基本上是)形式化 的系统(如符号逻辑),包括合法表达式的形成规则和 转换规则。 engman字典定义 any system of signs. movements, etc. used to express meanings or feelings 任何表情达意的记号系统
什么是语言: 语言是信息交流工具。有如下几种定义: 1、Webster字典定义 An artificially constructed primarily formal system of signs and symbols (as symbolic logic) including rules for the formation of admissible expressions and for their transformation 基于一组记号与符号由人工构造的(基本上是)形式化 的系统(如符号逻辑),包括合法表达式的形成规则和 转换规则。 2、Longman字典定义 Any system of signs, movements, etc., used to express meanings or feelings 任何表情达意的记号系统

3、英汉双解计算机辞典定义(清华大学出版社) a set of characters. conventions and rules. that is used for conveying information. The three aspects of language are pragmatics, semantics and syntax 种用于传递信息之字符、约定和规则的集合。语言的 个方面是语用、语义和语法。 4、中国大百科全书,电子学与计算机卷 语言的基础是一组记号和一组规则,根据规则由记号构 成之记号串的总体就是语言 5、徐家福:软件语言及其实现 语言是基于一组记号与一组规则、根据规则由记号构成 之记号串的总体。任何语言均包括语法、语义和语用三 个方面
3、英汉双解计算机辞典定义(清华大学出版社) A set of characters, conventions and rules, that is used for conveying information. The three aspects of language are pragmatics, semantics and syntax 一种用于传递信息之字符、约定和规则的集合。语言的 三个方面是语用、语义和语法。 4、中国大百科全书,电子学与计算机卷 语言的基础是一组记号和一组规则,根据规则由记号构 成之记号串的总体就是语言。 5、徐家福:软件语言及其实现 语言是基于一组记号与一组规则、根据规则由记号构成 之记号串的总体。任何语言均包括语法、语义和语用三 个方面

语言的作用 描述作用、交流作用和标志作用(软件语言可作为计算 技术发展的里程碑标志) 语言是人类生活的必要工具,不同的语言被使用于不同的领 域和方面 在计算领域,也存在不同层次的语言,本书所论及的是实现 层次的语言,即程序设计语言。 程序设计语言=字符集+规则集(用于组合字符) 仼何用于描述算法和数据结构的一套符号系统均可称为程序 设计语言 本课程研究的对象: 主要考虑那些在计算机上实现的程序设计语言
•语言的作用 描述作用、交流作用和标志作用(软件语言可作为计算 技术发展的里程碑标志) •语言是人类生活的必要工具,不同的语言被使用于不同的领 域和方面 •在计算领域,也存在不同层次的语言,本书所论及的是实现 层次的语言,即程序设计语言。 •程序设计语言=字符集+规则集(用于组合字符) •任何用于描述算法和数据结构的一套符号系统均可称为程序 设计语言 本课程研究的对象: 主要考虑那些在计算机上实现的程序设计语言

术语所界定的范围: 术语“程序设计语言”并没有一个公认的范围定义 通常这个术语是指高级语言 计算机上语言的层次: 纯二进制 Byte或word,指令、数据不分 用一些符号来代表指令,如sub代表减, 机器码或符号机器码Ad代表加等,机器地址用十进制。有 时汇编语言等同于符号机器码 符号汇编语言变量名用符,可用符号而非数字 宏汇编语言]用户可以定义新指令及子程序 高级语言」源程序编译为目标程序,或解释执行 高级程序语言的高层规约语言,提供比高级 甚高级语言」程序语言更高级的语言设施。又称为“可 的规约语言”。有时也不区别于高级语言
术语所界定的范围: 术语“程序设计语言”并没有一个公认的范围定义 通常这个术语是指高级语言 计算机上语言的层次: 纯二进制 机器码或符号机器码 符号汇编语言 宏汇编语言 高级语言 甚高级语言 Byte或word,指令、数据不分 用一些符号来代表指令,如sub代表减, Add代表加等,机器地址用十进制。有 时汇编语言等同于符号机器码。 变量名用符号,地址也可用符号而非数字。 编制的程序称为汇编程序。 用户可以定义新指令及子程序 源程序编译为目标程序,或解释执行 高级程序语言的高层规约语言,提供比高级 程序语言更高级的语言设施。又称为“可执行 的规约语言”。有时也不区别于高级语言

程序设计语言的四个基本特征: 1、用户不需要具有机器代码的知识,只需学习特定的程序 设计语言,并独立于任何特定的机器代码而使用。这并不 意味着用户可以完全忽略实际的计算机,如:需知道浮点 数的表示或使用某些机器资源。 2、程序设计语言必须有较大程度的机器独立性(完全的机 器独立性)。这意味着必须有较大潜力,使得源程序可运 行在具有不同机器代码的两台计算机上,不需要完全重写 3、当源程序翻译成机器代码时,通常对每个执行单元有多 个机器指令,如:A=A+B需多个机器指令来实现 4、程序设计语言的记号比机器语言更接近于被求解的问题 如:A=A+B比其机器翻译更易于理解
程序设计语言的四个基本特征: 1、用户不需要具有机器代码的知识,只需学习特定的程序 设计语言,并独立于任何特定的机器代码而使用。这并不 意味着用户可以完全忽略实际的计算机,如:需知道浮点 数的表示或使用某些机器资源。 2、程序设计语言必须有较大程度的机器独立性(完全的机 器独立性)。这意味着必须有较大潜力,使得源程序可运 行在具有不同机器代码的两台计算机上,不需要完全重写。 3、当源程序翻译成机器代码时,通常对每个执行单元有多 个机器指令,如:A=A+B需多个机器指令来实现 4、程序设计语言的记号比机器语言更接近于被求解的问题。 如:A=A+B比其机器翻译更易于理解

11为什么研究程序设计语言 两个基本观察: 1、已有数百种语言被设计和实现。在1969年, Sammet就 列出了当时120种相当广泛使用的语言,在此以后,又有 很多语言被开发。在早期,为一个项目的进行而开发 种语言是常有的事。 2、大多数程序员通常不会同时使用多种语言,一般限制 到1~2种。事实上,都是直接使用计算机上已有的语言如 C、Ada、 Fortran等。 既然如此,为什么要去研究各种不同的语言 有的语言甚至永远不可能再被使用? 学习、研究程序设计语言的理由 不仅仅是停留于肤浅的对语言特性的了解和考虑 深入了解根本性的语言设计概念及它们对语言实现的影响
1.1 为什么研究程序设计语言 两个基本观察: 1、已有数百种语言被设计和实现。在1969年,Sammet就 列出了当时120种相当广泛使用的语言,在此以后,又有 很多语言被开发。在早期,为一个项目的进行而开发一 种语言是常有的事。 2、大多数程序员通常不会同时使用多种语言,一般限制 到1~2种。事实上,都是直接使用计算机上已有的语言如 C、Ada、 Fortran等。 既然如此,为什么要去研究各种不同的语言, 有的语言甚至永远不可能再被使用? 学习、研究程序设计语言的理由 不仅仅是停留于肤浅的对语言特性的了解和考虑 深入了解根本性的语言设计概念及它们对语言实现的影响

提高开发有效算法的能力 ·很多语言提供的特性如果被合适地使用,会给程序员带来 益处,但如被不合适地使用,将可能导致大量计算机时间 浪费或使程序员出现耗时的逻辑错误。 ·有可能一个长期使用某一语言的程序员也并不理解该语言 的所有特性 如递归特性:是一个非常便利的程序设计语言特性 如正确、合适使用,可得到优美和髙效算法的直接实现。 如不正确使用,将可能导致执行时间的天文数字增长。 如果程序员不知道递归蕴含的设计问题和实现困难,将 难于使用这种结构;对递归原理和实现技术的了解可使 程序员了解在特定语言中的递归的相对代价并通过其理 解确定其使用是否合适。 °新的程序设计方法不断在文献中引入,如OO程序设计,逻 辑程序设计和并发程序设计的使用均需要对实现这些概念 的语言的详细了解和掌握
1、提高开发有效算法的能力 •很多语言提供的特性如果被合适地使用,会给程序员带来 益处,但如被不合适地使用,将可能导致大量计算机时间 浪费或使程序员出现耗时的逻辑错误。 •有可能一个长期使用某一语言的程序员也并不理解该语言 的所有特性。 •如递归特性:是一个非常便利的程序设计语言特性 如正确、合适使用,可得到优美和高效算法的直接实现。 如不正确使用,将可能导致执行时间的天文数字增长。 如果程序员不知道递归蕴含的设计问题和实现困难,将 难于使用这种结构;对递归原理和实现技术的了解可使 程序员了解在特定语言中的递归的相对代价并通过其理 解确定其使用是否合适。 •新的程序设计方法不断在文献中引入,如OO程序设计,逻 辑程序设计和并发程序设计的使用均需要对实现这些概念 的语言的详细了解和掌握
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《高级程序设计语言原理》第八章 抽象二:继承.ppt
- 《高级程序设计语言原理》第七章 子程序控制.ppt
- 《高级程序设计语言原理》第六章 顺序控制.ppt
- 《高级程序设计语言原理》第五章 抽象一:封装.ppt
- 《高级程序设计语言原理》第四章 数据类型.ppt
- 《高级程序设计语言原理》第三章 语言翻译.ppt
- 《高级程序设计语言原理》第二章 语言设计问题.ppt
- 《计算方法》第二章 迭代法.doc
- 《计算方法》第二章(2-1)求隔根区间.doc
- 《计算方法》第一章 绪论.ppt
- 《计算方法》习题一.doc
- 《计算方法》第七章 常微分方程数值解.doc
- 《计算方法》第六章(6-3)复化求积公式.doc
- 《计算方法》第六章(6-2)Newton-Cotes.doc
- 《计算方法》第六章(6-1) 值积分的基本概念.doc
- 《计算方法》第四章(4-2)牛顿插值公式.doc
- 《计算方法》第四章(4-1)代数多项式插值.doc
- 《计算方法》第三章(3-4)迭代法.doc
- 《计算方法》第三章(3-2)矩阵的三角分解.doc
- 《计算方法》第三章 线性方程组解法.doc
- 《C语言教程》教学资源(PPT课件讲稿)第一讲 基本知识.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第二讲 数据类型.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第三讲 运算符与表达式.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第四讲 顺序结构.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第六讲 循环结构.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第八讲 编译预处理.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第七讲 数组.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第五讲 选择结构.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第十一讲 结构体与共用体.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第十讲 指针.ppt
- 《C语言教程》教学资源(PPT课件讲稿)第九讲 函数.ppt
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第1章 多媒体技术概要.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第2章 数字声音及MDI简介.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第3章 话音编码.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第4章 无损数据压缩.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第5章 彩色数字图像基础.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第6章 颜色的度量体系.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第7章 颜色空间变换.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第8章 小波与小波变换.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第9章 小波图像编码.doc