计算机语言分类_第1页
计算机语言分类_第2页
计算机语言分类_第3页
计算机语言分类_第4页
计算机语言分类_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机语言 计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机系统最大特 征是指令通过一种语言传达给机器。 为了使电子计算机进行各种工作, 就需要有一套用以编 写计算机程序的数字、 字符和语法规划, 由这些字符和语法规则组成计算机各种指令 (或各 种语句)。 发展: 集成、 可视的开发环境结构化高级语言(在更抽象的层次上表达意图) 面向对象程 序设计(支持此技术的程序设计语言,eiffel,c+,java) 趋势: 面向对象:提供简单的类机制以及动态的接口模型。对象中封装状态变量以及相应的方法, 实现了模块化和信息隐藏; 提供了一类对象的原型, 并且通过继承

2、机制, 子类可以使用父类 所提供的方法,实现了代码的复用。 面向应用: 只需要告诉程序你要干什么, 程序就能自动生成算法, 自动进行处理, 这就是非 过程化的程序语言。 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。 机器语言 电子计算机所使用的是由 0和1组成的二进制数,二进制是计算机的语言的基础。计算机 发明之初,人们用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0 和 1 组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机 器语言是十分痛苦的,特别是在程序有错需要修改时更是如此。 因此程序就是一个个的二进制文件。 一

3、条机器语言成为一条指令。 指令是不可分割的最小功 能单元。而且, 由于每台计算机的指令系统往往各不相同,所以, 在一台计算机上执行的程 序,要想在另一台计算机上执行,必须另编程序, 造成了重复工作。但由于使用的是针对特 定型号计算机的语言, 故而运算效率是所有语言中最高的。 机器语言, 是第一代计算机语言。 汇编语言 为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、 符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递 等等, 这样一来,人们很容易读懂并理解程序在干什么, 纠错及维护都变得方便了,这种程 序设计语言就称为汇编语言,即第

4、二代计算机语言。 然而计算机是不认识这些符号的, 这就需要一个专门的程序, 专门负责将这些符号翻译成二 进制数的机器语言,这种翻译程序被称为汇编程序。 汇编语言同样十分依赖于机器硬件, 移植性不好, 但效率仍十分高, 针对计算机特定硬件而 编制的汇编语言程序, 能准确发挥计算机硬件的功能和特长, 程序精炼而质量高, 所以至今 仍是一种常用而强有力的软件开发工具。 汇编语言的实质和机器语言是相同的, 都是直接对硬件操作, 只不过指令采用了英文缩写的 标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。 汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如

5、移动、 自增, 因 此汇编源程序一般比较冗长、 复杂、容易出错, 而且使用汇编语言编程需要有更多的计算机 专业知识, 但汇编语言的优点也是显而易见的, 用汇编语言所能完成的操作不是一般高级语 言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。 高级语言 高级语言有:BASIC (True basic、Qbasic、Virtual Basic )、C C+、PASCAL FORTRAN 智能 化语言(LISR Prolog、CLIPS OpenCyc Fazzy、动态语言(Python、PHP、Ruby、Lua)等等。 高级语言源程序可以用解释、编译两种方式执行,通常用

6、后一种。 注: 解释类:执行方式类似于我们日常生活中的“同声翻译” ,应用程序源代码一边由相应语言 的解释器“翻译”成目标代码 (机器语言 ),一边执行,因此效率比较低,而且不能生成可独 立执行的可执行文件, 应用程序不能脱离其解释器, 但这种方式比较灵活, 可以动态地调整、 修改应用程序。 编译类: 编译是指在应用源程序执行之前, 就将程序源代码 “翻译” 成目标代码 (机器语言 ), 因此其目标程序可以脱离其语言环境独立执行, 使用比较方便、 效率较高。 但应用程序一旦 需要修改,必须先修改源代码,再重新编译生成新的目标文件(* OBJ才能执行,只有目标 文件而没有源代码, 修改很不方便。

7、 如今大多数的编程语言都是编译型的, 例如 VisualBasic、 VisualC+、 VisualFoxpro、 Delphi 等。 高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为 单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等, 这样就大大简化了程序中的指令。由于省略了很多细节,所以编程者也不需要具备太多的专 业知识。 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编 程语言,流行的 VB VC FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。 在C语言诞生以前,系统软件主

8、要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬 件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作 (这 正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言 C 语言。 高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语 言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、 汇编语言 汇编是第一个计算机语言。 汇编语言实际上是你计算机处理器实际运行的指令的命令形式表 示法。 这意味着你将与处理器的底层打交道, 比如寄存器和堆栈。 如果你要找的是类英语且 有相关的自我说明的语言,这

9、不是你想要的。 特别注意:语言的名字叫“汇编” 。把汇编语 言翻译成真实的机器码的工具叫“汇编程序” 。把这门语言叫做“汇编程序”这种用词不当 相当普遍,因此,请从这门语言的正确称呼作为起点出发。 优点: 最小、最快的语言。 汇编高手能编写出比任何其他语言能实现的快得多的程序。你将 是利用处理器最新功能的第一人,因为你能直接使用它们。 缺点:难学、语法晦涩、坚持效率,造成大量额外代码不适于心脏虚弱者。 移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使 用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如, AMD 的 3DNow 指令是

10、无法移植到其它奔腾系列的处理器上的) 。 C语言 C 语言是 Dennis Ritchie 在七十年代创建的, 它功能更强大且与 ALGOL 保持更连续的继承性, 而ALGOL则是COBOL和FORTRAN勺结构化继承者。C语言被设计成一个比它的前辈更精巧、 更简单的版本, 它适于编写系统级的程序,比如操作系统。在此之前, 操作系统是使用汇编 语言编写的,而且不可移植。 C 语言是第一个使得系统级代码移植成为可能的编程语言。 优点: 有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平 台上的各版本非常相似。 缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥

11、用。 移植性: C 语言的核心以及 ANSI 函数调用都具有移植性,但仅限于流程控制、内存管理和 简单的文件处理。其他的东西都跟平台有关。比如说,为 Windows 和 Mac 开发可移植的程 序,用户界面部分就需要用到与系统相关的函数调用。 这一般意味着你必须写两次用户界面 代码,不过还好有一些库可以减轻工作量。 C+ C+语言是具有面向对象特性的 C语言的继承者。面向对象编程,或称OOP是结构化编程的 下一步。00程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存 在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比 如说,有很多的 GUI 和

12、数据库的库实现为对象的集合。 优点:组织大型程序时比 C语言好得多。很好的支持面向对象机制。通用数据结构,如链表 和可增长的阵列组成的库减轻了由于处理低层细节的负担。 缺点:非常大而复杂。与 C 语言一样存在语法滥用问题。比 C 慢。大多数编译器没有把整 个语言正确的实现。 移植性:比 C 语言好多了,但依然不是很乐观。因为它具有与 C 语言相同的缺点,大多数 可移植性用户界面库都使用C+对象实现。 Java Java是由Sun最初设计用于嵌入程序的可移植性“小C+”。在网页上运行小程序的想法着 实吸引了不少人的目光,于是,这门语言迅速崛起。事实证明,Java不仅仅适于在网页上内 嵌动画它是一

13、门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指 针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。 虽然不是C+的正式续篇,Java从C+冲借用了大量的语法。 它丢弃了很多 C+啲复杂功能, 从而形成一门紧凑而易学的语言。 不像C+,Java强制面向对象编程, 要在Java里写非面向 对象的程序就像要在 Pascal里写“空心粉式代码”一样困难。 优点: 二进制码可移植到其他平台。 程序可以在网页中运行。 内含的类库非常标准且极其健 壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。 缺点:使用一个 “虚拟机” 来运行可移植的字节码而非本地机器码, 程序将

14、比真正编译器慢。 有很多技术(例如“即时”编译器)很大的提高了Java的速度,不过速度永远比不过机器 码方案。早期的功能,如 AWT 没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不 得不保留。越高级的技术,造成处理低级的机器功能越困难,Sun 为这门语言增加新的“受 祝福”功能的速度实在太慢。 移植性:最好的,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是, 很多 UI 及新功能在某些平台上不稳定。 创作工具 多数创作工具有点像 VisualBasic,只是它们工作在更高的层次上。大多数工具使用一些拖拉 式的流程图来模拟流程控制。 很多内置解释的程序语言, 但是这些语言都

15、无法像上面所说的 单独的语言那样健壮。 优点:快速原型如果你的游戏符合工具制作的主旨, 你或许能使你的游戏跑得比使用其他 语言快。在很多情况下,你可以创造一个不需要任何代码的简单游戏。使用插件程序,如 Shockware 及 IconAuthor 播放器,你可以在网页上发布很多创作工具生成的程序。 缺点: 专利权, 至于将增加什么功能,你将受到工具制造者的支配。你必须考虑这些工具是 否能满足你游戏的需要, 因为有很多事情是那些创作工具无法完成的。 某些工具会产生臃肿 得可怕的程序。 移植性:因为创作工具是具有专利权的, 你的移植性以他们提供的功能息息相关。 有些系统, 如 Director 可

16、以在几种平台上创作和运行, 有些工具则在某一平台上创作, 在多种平台上运 行,还有的是仅能在单一平台上创作和运行。 8 / 8 主要计算机语言指数对比0806 Ruby. 2 2% DelphLL 9% Flex.l 5K Python, 1.6% Perl, 2.3% VB, 4.0W avas-cRipth巳耳闕 PHPr9.4% SQL语言 结构化查询语言(Structured Query Language)简称SQL是一种特殊目的的编程语言,是一种 数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也 是数据库脚本文件的扩展名。 结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用 户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层 结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构 化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。 MQL4语言 MetaQuotes Language 4 (MQL4)是一种新的内置型程序用来编写交易策

温馨提示

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

评论

0/150

提交评论