程序设计语言_第1页
程序设计语言_第2页
程序设计语言_第3页
程序设计语言_第4页
程序设计语言_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

书写计算机程序的语言程序设计语言程序设计语言全文共25页,当前为第1页。01历史成分释义的特性目录030204程序设计语言全文共25页,当前为第2页。05分类数据模型的选择发展趋势目录070608程序设计语言全文共25页,当前为第3页。基本信息程序设计语言是用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。程序设计语言全文共25页,当前为第4页。历史程序设计语言全文共25页,当前为第5页。历史有许多用于特殊用途的语言,只在特殊情况下使用。例如,PHP专门用来显示网页;Perl更适合文本处理;C语言被广泛用于操作系统和编译器(所谓的系统编程)的开发。高级程序设计语言(也称高级语言)的出现使得计算机程序设计语言不再过度地倚赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。程序设计语言全文共25页,当前为第6页。释义程序设计语言全文共25页,当前为第7页。释义程序设计语言(24张)虽然大多数的语言可以既可被编译(Compiled)又可被解译(interpreted),但大多数只在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(representation),然后再使用虚拟器转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,虽然在很多时候,中间过渡的代码往往是解译,而不是编译的。如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就称为编译。因此,一个编译器是一个将可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(objectcode)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解译。经解译的程序运行速度往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。

程序设计语言全文共25页,当前为第8页。成分程序设计语言全文共25页,当前为第9页。成分语言的种类千差万别。但是,一般说来,基本成分不外4种。程序设计语言全文共25页,当前为第10页。的特性程序设计语言全文共25页,当前为第11页。的特性程序设计语言具有心理工程及技术等特性。(1)心理特性:歧义性、简洁性、局部性、顺序性、传统性。(2)工程特性:可移植性,开发工具的可利用性,软件的可重用性、可维护性。(3)技术特性:支持结构化构造的语言有利于减少程序环路的复杂性,使程序易测试、易维护。

程序设计语言全文共25页,当前为第12页。分类程序设计语言全文共25页,当前为第13页。第一代机器语言第二代汇编语言第三代高级语言第四代非过程化语言分类程序设计语言全文共25页,当前为第14页。第一代机器语言机器语言是由二进制0、1代码指令构成,不同的CPU具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低,程序代码直观性、兼容性差,并且很容易出现错误

,这种语言已经被渐渐淘汰了。程序设计语言全文共25页,当前为第15页。第二代汇编语言汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:占用内存空间少

,可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。程序设计语言全文共25页,当前为第16页。第三代高级语言高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。一、从应用角度分类从应用角度来看,高级语言可以分为基础语言、结构化语言和专用语言。(1)基础语言基础语言也称通用语言。它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户,为人们所熟悉和接受。属于这类语言的有FORTRAN、COBOL、BASIC、ALGOL等。FORTRAN语言是国际上广为流行、也是使用得最早的一种高级语言,从20世纪90年代起,在工程与科学计算中一直占有重要地位,备受科技人员的欢迎。BASIC语言是在20世纪60年代初为适应分时系统而研制的一种交互式语言,可用于一般的数值计算与事务处理。BASIC语言结构简单,易学易用,并且具有交互能力,成为许多初学者学习程序设计的入门语言。程序设计语言全文共25页,当前为第17页。第四代非过程化语言4GL是非过程化语言,编码时只需说明“做什么”,不需描述算法细节。数据库查询和应用程序生成器是4GL的两个典型应用。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的操作。用户只需将要查找的内容在什么地方、据什么根条件进行查找等信息告诉SQL,SQL将自动完成查找过程。应用程序生成器则是根据用户的需求“自动生成”满足需求的高级语言程序。真正的第四代程序设计语言应该说还没有出现。所谓的第四代语言大多是指基于某种语言环境上具有4GL特征的软件工具产品,SystemZ、如PowerBuilder、FOCUS等。第四代程序设计语言是面向应用,为最终用户设计的一类程序设计语言。它具有缩短应用开发过程、降低维护代价、最大限度地减少调试过程中出现的问题以及对用户友好等优点。程序设计语言全文共25页,当前为第18页。的选择程序设计语言全文共25页,当前为第19页。的选择程序设计语言特点不同,适用领域也不同,以下从不同角度介绍选择的方法。1、项目的应用领域(1)科学工程计算。需要大量的标准库函数,以便处理复杂的数值计算,可供选用的语言有FORTRAN语言、C语言等。(2)数据处理与数据库应用。SQL为IBM公司开发的数据库查询语言,4GL称为第4代语言。(3)实时处理。实时处理软件一般对性能的要求很高,可选用的语言有汇编语言、Ada语言等。(4)系统软件。如果编写操作系统、编译系统等系统软件时,可选用汇编语言、C语言、Pascal语言和Ada语言。(5)人工智能。如果要完成知识库系统、专家系统、决策支持系统、推理工程、语言识别、模式识别等人工智能领域内的系统,应选择Prolog、Lisp语言。程序设计语言全文共25页,当前为第20页。数据模型程序设计语言全文共25页,当前为第21页。数据模型现代计算机内部的数据都只以二元方式储存,即开-关模式(on-off)。现实世界中代表信息的各种数据,例如名字、银行账号、度量以及同样低端的二元数据,都经由程序设计语言整理,成为高端的概念。一个程序中专门处理数据的那个系统被称为程序语言的型态系统(typesystem);对型态系统的研究和设计被称为型态理论(typetheory)。语言可以被分为静态型态系统(staticallytypedsystems),例如C++和Java,和动态型态系统(dynamicallytypedsystems),例如Lisp,JavaScript,Tcl和Prolog。前者可被进一步分为包含宣告型态(manifesttype)的语言,即每一个变量和函数的型态都清楚地宣告,或type-inferred语言(例如MUMPS,ML)。大多数语言还能够在内置的型态基础上组合出复杂的数据结构型态(使用数组,列表,堆栈,文件等等)。面向对象语言(ObjectOrientedLanguage,又译作“物件导向语言”)允许程序员定义新的数据型态,即“对象”或“物件”(objects),以及运行于该对象的函数(functions)和方法(methods)。除了何时以及如何确定表达式和型态的联系,另外一个重要的问题就是语言到底定义了哪些型态,以及允许哪些型态作为表达式的值。诸如C编程语言之类的低端语言允许程序命名内存位置、内存区域以及编译时的常量;ANSIC甚至允许表达式返回结构值(struct

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论