电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章嵌入式系统计算机语言概述

计算机语言概述

11-20 17:14:34 | http://www.5idzw.com | 嵌入式系统 | 人气:384
标签:嵌入式系统开发,嵌入式开发,http://www.5idzw.com 计算机语言概述,http://www.5idzw.com

(7)分布式  Java支持数据分布和操作分布。

8.函数式语言

函数式程序是由一些原始函数、定义函数和函数型组成的函数表达式。传统程序设计语言中的赋值等概念,在函数式程序设计语言中消失。函数式程序的一个最本质的特性,就是函数值唯一地由其参数值所确定。只要使用相同的参数值,对此程序的不同的调用总是得到相同的结果。这种性质称为引用透明性,有助于程序的模块化。

一般认为表处理语言(LISP)是最早的函数式程序设计语言。但是,LISP的重点是将函数应用于对象,以产生新的对象,必要时再上升为函数。巴克斯所提出的函数式程序设计,则是引用函数型产生新函数,程序设计时从一般的对象空间上升到函数空间,因而具有优越的数学性质,有助于程序的理解、推理和验证。

由于函数式程序设计语言的简明性和独特的表达能力,可用它来研究传统程序设计语言的语义。一种方法是用于确定一个解释程序的定义,作为被研究的语言的语义;另一种方法是将被研究的语言写成的程序转换成与之等价的函数式程序。在人工智能领域中,需要用复杂的算法去处理一些复杂的(通常是符号的)数据结构。LISP语言成功地应用于这一领域,说明了函数式程序设计的独特优越性。巴克斯分析了传统程序设计语言的缺陷,认为这些缺陷主要是由于诺伊曼式系统结构所造成的。他所提出的函数式程序设计(简称FP),摆脱了传统的诺伊曼计算机结构,需要一种新的非诺伊曼式的系统结构为后援。一些具有新概念的计算机,如归约机、数据流机,以及专为某种函数式语言(如FP)设计的计算机正在研究和发展中。现代既需要研究在诺伊曼式计算机上如何更有效地实现函数式程序设计语言的问题,也需要研究适应这种语言的新型计算机结构。

函数式程序设计受到重视的原因是:首先由于产生了“软件危机”,人们企图探讨一种摆脱这种困境的新型程序设计方式,而函数式程序设计具有不少独特之处。其次,超大规模集成电路技术的发展,为发挥函数式程序设计语言的潜在并行性提供了物质基础。可以预期,一些具有诸如高度并行性等特点的非诺伊曼式计算机将会出现。随着硬件技术的发展、软件方法的研究,以及应用范围的不断扩大,函数式程序设计将得到发展,并在新一代计算机系统中起重要作用。

9.脚本语言

脚本语言是Web的普及与发展的产品。脚本语言一般指HTML语言、VBScript、JavaScript、Java Applet等,XML是定义HTML的元语言,它也可属于脚本语言范围。脚本语言程序由客户代理(浏览器)解释、运行。脚本语言的标准化主要为了网页独立于网页浏览器,使客户与浏览器更友好地交互,动态控制网页元素。

10.描述性语言

软件人员都希望有朝一日,只要描述系统的需求、设计、使用平台,就可以生成系统代码,不要编程。许多研究机构、大的公司在这方面研究已迈开了非常重要的一步。模型驱动的结构MDA的工作是这一领域的研究成果的体现。MDA以模型的观念研究软件系统,其中UML(通用建模语言)已成为人们描述软件系统开发不同阶段使用的语言。

传统的程序设计过程是抽象思维过程,只有程序设计完成后,通过上机调试,方知程序的正确与错误。可视化程序开发环境,使程序一边开发,一边看到程序运行的结果,大大提高了软件的开发效率。可视化程序开发是以面向对象程序设计为基础的。可视化面向对象的程序设计方法得到普遍的认可。许多传统的非面向对象语言都经过扩充、改造成为支持可视化的面向对象的程序设计语言。PASCAL演化为Delphi ,BASIC演化为VB,C语言演化为VC++、C++Builder等。这些可视化集成开发环境成为当前软件开发环境的主流。

语言翻译程序

计算机只能识别、运行本身的机器语言(0、1构成的指令系统),另一方面,人们又希望使用高级程序设计语言描述要计算机解决的问题。因此,如何使高级程序设计语言程序映射成等价的机器语言程序成为关键,语言翻译程序就是起这种作用(见图1-1)。

 

 

按语言程序的翻译方式不同,语言翻译程序分为解释型翻译程序和编译型翻译程序。

解释型翻译程序在语言程序翻译时,它读入源程序一句,翻译一句,执行一句,这样反复操作直到最终完成。Basic语言是典型的解释型语言。

编译型翻译程序也叫编译程序,它在翻译语言程序时,加工整个源程序,最终翻译成机器语言,然后交给计算机执行。编译程序有利于目标程序的优化,有利于提高目标程序的运行速度。Fortran语言、C语言、Pascal语言都是编译型语言。

有时人们形象地把解释型翻译程序比作“口译”,把编译程序比作“笔译”。由此可见,由于计算机有了一种语言的翻译程序,使计算机能“明白”这种语言的编写的程序。因此,配置了某种语言的翻译程序的计算机又被人们称为这种语言的虚拟机。不言而喻,语言翻译程序与操作系统和计算机硬件有关,由翻译程序产生的目标程序也与操作系统和计算机硬件有关。不同操作系统下的同一种语言的语言翻译程序是不一样的,同一操作系统下(如windows环境)硬件不一样(如x86和PowerPC),同一种语言的翻译程序也是不一样的(如图1-2所示)。

虚拟机、Java虚拟机与Java运行环境

由上可见,编译程序与操作系统和计算机硬件有关,为了提高编译程序的可移植性,人们提出了虚拟机的理论。虚拟机好似通用的计算机,有自己的指令系统,但本身没有实际的硬件。为了虚拟机代码可以执行,必须有虚拟机实时运行支持系统把虚拟机代码转换成相应

硬件机器的代码(如图1-3所示),然后加以执行。有了虚拟机,编译程序首先把语言程序翻译成虚拟机代码,这样的编译程序可移植性就大大提高了。虚拟机代码与机器无关,虚拟机代码不仅可以在本机上执行,也可以通过网络流通到其他配制了相应的虚拟机实时运行支持系统的网点上执行。这一特征,显示了虚拟机在网络时代的无限生机。

计算机网络的发展对计算机语言不断提出新的要求,特别是要求语言具有可移植性、安全性,这正是Java成为网络开发的主流语言的原因。

JVM(Java Virtual Machine)是一种Java虚拟机,从结构上看它与实际的计算机相似,它的作用是使得一台实际的机器能够运行Java字节码程序。Java字节码是Java源程序编译后的程序,它不能被计算机直接执行,但它可以被所有的Java虚拟机执行。这就是Java字节码程序可以在网络上移植的原因。

Java程序必须有自己的运行环境(Java平台)。一个Java运行环境包括实际计算机、适配器、Java虚拟机、Java基本软件和Java应用程序接口,如图1-4所示。JVM是Java运行环境的核心,JVM的下层是和实际计算机的接口,被称为适配器,不同类型的计算机其适配器是不同的。Java的基本软件也称为基本类,而Java API(Application Program Interface,应用程序接口)是已编译好的程序代码库,可以直接使用它们,以节约编程的时间。事实上,Java的基本类和API的规模并不固定,许多Java平台对这两部分内容进行了补充,即除了基本类外,还有扩展类。

上一页  [1] [2] [3]  下一页

,计算机语言概述
关于《计算机语言概述》的更多文章