1.2程序语言发展简史 ●机器语言—>汇编语言->高级语言 ●基于数字计算的语言,如 Fortran ●基于商业语言,如 COBOL;机器语言 ●人工智能语言,如L|SP; 低级语言 汇编语言 ●系统语言,如0语言; 几翻译 高级语言执行语言
1.2 程序语言发展简史 ⚫ 机器语言—>汇编语言—>高级语言; ⚫ 基于数字计算的语言,如Fortran; ⚫ 基于商业语言,如COBOL; ⚫ 人工智能语言,如LISP; ⚫ 系统语言,如C语言; 机器语言 高级语言 汇编语言 }低级语言 执行语言 翻译
语言的应用领域 商业: COBOL,C++,Java, Excel,. Delphi ●科学: Fortran,C,C++,Java, Delphi, Basic 系统:C,C++,Java,Ada ●人工智能:LISP, Prolog ●出版:Tex, Postscrip,word ●处理: Unix shell.TCL,Per, Javascript 返回
语言的应用领域 ⚫ 商业:COBOL,C++,Java,Excel,Delphi ⚫ 科学:Fortran,C,C++,Java,Delphi,Basic ⚫ 系统:C,C++,Java,Ada ⚫ 人工智能:LISP,Prolog ⚫ 出版:Tex,Postscript,Word ⚫ 处理:Unix shell,TCL, Perl, Javascript 返回
1.3对程序语言影响的主要因素 1)计算机性能:计算机性能价格比在不断提 高,嵌入了0s,使用高级语言成为可能。 °2)应用:从军事、科技、商业、工业领域_> 计算机游戏、个人计算机,乃至各个领域。 ●3)编程方法:简单程序_>复杂程序 技巧性一>可读性。 4)实现方法:设计新的数据结构和算法, 实现高效性>可维护性 ●5)理论研究:采用形式化的数学方法进行语 言数据结构、算法等设计、实现方面的研究。 6)标准化:强调可移植性。 返回
1.3 对程序语言影响的主要因素 ⚫ 1)计算机性能:计算机性能价格比在不断提 高,嵌入了OS,使用高级语言成为可能。 ⚫ 2)应用:从军事、科技、商业、工业领域—> 计算机游戏、个人计算机,乃至各个领域。 ⚫ 3)编程方法:简单程序—>复杂程序; 技巧性—>可读性。 ⚫ 4)实现方法:设计新的数据结构和算法, 实现高效性—>可维护性。 ⚫ 5)理论研究:采用形式化的数学方法进行语 言数据结构、算法等设计、实现方面的研究。 6)标准化:强调可移植性。 返回
1.4好语言的特征 1)透明性、简单性和统一性ε从语法上的区别就能 体现语义上的区别。 ●2)正交性:是指能将一种语言的各种特征以所有可 能的情况加以组合,并且每一种组合均有意义。例, 假设某种语言(如0)提供了能够产生值的表达式, 而且也提供了条件语句以计算一个表达式的值是真 或假。如果任何一个表达式在条件语句中都能使用 (和计算),那么这种语言中的这两个特征,即表 达式和条件语句就具有正交性。 正交性的好处:需要记忆的特殊情况较少,易于学 习和编程。缺点:可能包含逻辑不连贯性的特征组
1.4 好语言的特征 ⚫ 1)透明性、简单性和统一性:从语法上的区别就能 体现语义上的区别。 ⚫ 2)正交性:是指能将一种语言的各种特征以所有可 能的情况加以组合,并且每一种组合均有意义。例, 假设某种语言(如C)提供了能够产生值的表达式, 而且也提供了条件语句以计算一个表达式的值是真 或假。如果任何一个表达式在条件语句中都能使用 (和计算),那么这种语言中的这两个特征,即表 达式和条件语句就具有正交性。 ⚫ 正交性的好处:需要记忆的特殊情况较少,易于学 习和编程。缺点:可能包含逻辑不连贯性的特征组 合
●3)应用的自然性:使得程序结构能够反映出算 法的逻辑结构基础。理想情况下,能够将程序 设计直接转化成正确的反映算法结构的程序语 句(自然语言描述的算法可直接转化成程序语句) 4)抽象性的支持:能够支持抽象性的数据结构 (如包含有“学生、班级、教师、教室”等成 员的记录 Record,结构 Struct等)以及抽象的 操作(如给一个班级分配教室)。程序员的 项重要工作就是:设计抽象类、实现抽象类。 ●5)程序的易验证性:语义和语法的简单性是简 化程序验证的一个基本要素。 ●6)编程环境:集成化的编程环境。如ⅤB、VC、 VJ、 JBuilder、 Dell h等
⚫ 3)应用的自然性:使得程序结构能够反映出算 法的逻辑结构基础。理想情况下,能够将程序 设计直接转化成正确的反映算法结构的程序语 句(自然语言描述的算法可直接转化成程序语句)。 ⚫ 4)抽象性的支持:能够支持抽象性的数据结构 (如包含有“学生、班级、教师、教室”等成 员的记录Record,结构Struct等)以及抽象的 操作(如给一个班级分配教室)。程序员的一 项重要工作就是:设计抽象类、实现抽象类。 ⚫ 5)程序的易验证性:语义和语法的简单性是简 化程序验证的一个基本要素。 ⚫ 6)编程环境:集成化的编程环境。如VB、VC、 VJ、JBuilder、Delphi等