标题：计算机编程语言
计算机编程语言
1. 机器语言机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。
用机器语言编写程序，编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时，程序员得自己处理每条指令和每一数据的存储分配和输入输出，还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作，编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且，编出的程序全是些0和1的指令代码。直观性差，还容易出错。现在，除了计算机生产厂家的专业人员外，绝大多数程序员已经不再去学习机器语言了。2.汇编语言为了克服机器语言难读、难编、难记和易出错的缺点，人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码（如用ADD表示运算符号“+”的机器代码），于是就产生了汇编语言。所以说，汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序，比用机器语言的二进制代码编程要方便些，在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应，基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性，得到质量较高的程序。
汇编语言中由于使用了助记符号，用汇编语言编制的程序送入计算机，计算机不能象用机器语言编写的程序一样直接识别和执行，必须通过预先放入计算机的 “汇编程序“的加工和翻译，才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序，运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序，它一经被安置在内存的预定位置上，就能被计算机的CPU处理和执行。
汇编语言像机器指令一样，是硬件操作的控制信息，因而仍然是面向机器的语言，使用起来还是比较繁琐费时，通用性也差。汇编语言是低级语言。但是，汇编语言用来编制系统软件和过程控制软件，其目标程序占用内存空间少，运行速度快,有着高级语言不可替代的用途。3.高级语言不论是机器语言还是汇编语言都是面向硬件的具体操作的，语言对机器的过分依赖，要求使用者必须对硬件结构及其工作原理都十分熟悉，这对非计算机专业人员是难以做到的，对于计算机的推广应用是不利的。计算机事业的发展，促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机，只要配备上相应的高级语言的编译或解释程序，则用该高级语言编写的程序就可以通用。
目前被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。　
计算机并不能直接地接受和执行用高级语言编写的源程序，源程序在输入计算机时，通过“翻译程序”翻译成机器语言形式的目标程序，计算机才能识别和执行。这种“翻译”通常有两种方式，即编译方式和解释方式。编译方式是：事先编好一个称为编译程序的机器语言程序，作为系统软件存放在计算机内，当用户由高级语言编写的源程序输入计算机后，编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序，然后计算机再执行该目标程序，以完成源程序要处理的运算并取得结果。解释方式是：源程序进入计算机时，解释程序边扫描边解释作逐句输入逐句翻译，计算机一句句执行，并不产生目标程序。PASCAL、 FORTRAN、COBOL等高级语言执行编译方式；BASIC语言则以执行解释方式为主；而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级（程序设计）语言，都有自己人为规定的专用符号、英文单词、语法规则和语句结构（书写格式）。高级语言与自然语言（英语）更接近，而与硬件功能相分离（彻底脱离了具体的指令系统），便于广大用户掌握和使用。高级语言的通用性强，兼容性好，便于移植。
高级程序设计语言
下面介绍几种较有代表性的高级程序设计语言：⑴BASIC语言BASIC语言全称是Beginner’s all Purpose Symbolic Instruction Code，意为“初学者通用符号指令代码“。1964年由美国达尔摩斯学院的基米尼和科茨完成设计并提出了BASIC语言的第一个版本，经过不断丰富和发展，现已成为一种功能全面的中小型计算机语言。BASIC易学、易懂、易记、易用，是初学者的入门语言，也可以作为学习其他高级语言的基础。BASIC有解释方式和编译方式两种翻译程序。⑵PASCAL语言PASCAL是一种结构程序设计语言，由瑞士苏黎世联邦工业大学的沃斯(N.Wirth）教授研制，于1971年正式发表。是从ALGOL60衍生的，但功能更强且容易使用。目前，作为一个能高效率实现的实用语言和一个极好的教学工具，PASCAL语言在高校计算机软件教学中一直处于主导地位。Pascal(B.Pascal）是十七世纪法国著名数学家,他于1642年曾发明现代台式计算机的雏型机—加减法计算机。
PASCAL具有大量的控制结构，充分反映了结构化程序设计的思想和要求，直观易懂，使用灵活，既可用于科学计算，又能用来编写系统软件，应用范围日益广泛。⑶通用编程语言CC语言是美国AT&T（电报与电话）公司为了实现UNIX系统的设计思想而发展起来的语言工具。C语言的主要特色是兼顾了高级语言和汇编语言的特点，简洁、丰富、可移植。相当于其他高级语言子程序的函数是C语言的补充，每一个函数解决一个大问题中的小任务，函数使程序模块化。C语言提供了结构式编程所需要的各种现代化的控制结构。
C语言是一种通用编程语言，正被越来越多的计算机用户所推崇。使用C语言编写程序，既感觉到使用高级语言的自然，也体会到利用计算机硬件指令的直接，而程序员却无需卷入汇编语言的繁琐。⑷COBOL语言COBOL的全称是Common Business Oriented Language，意即：通用商业语言。
在企业管理中，数值计算并不复杂，但数据处理信息量却很大。为专门解决经企管理问题，于1959年，由美国的一些计算机用户组织设计了专用于商务处理的计算机语言COBOL，并于1961年美国数据系统语言协会公布。经不断修改、丰富完善和标准化，已发展为多种版本。
COBOL语言使用了300多个英语保留字，大量采用普通英语词汇和句型，COBOL程序通俗易懂，素有“英语语言”之称。
COBOL语言语法规则严格。用COBOL语言编写的任一源程序，都要依次按标识部、环境部、数据部和过程部四部分书写，COBOL程序结构的“部” 内包含“节”，“节”内包含“段”，段内包含语句，语句由字或字符串组成，整个源程序象一棵由根到干，由干到枝，由枝到叶的树,习惯上称之为树型结构。
目前COBOL语言主要应用于情报检索、商业数据处理等管理领域。
常用的高级程序设计语言，除了上述的几种之外，还有很多，如以英国著名诗人拜伦(G.N.G.Byron）的独生女艾达·拜伦（Ada Byron）的名字命名的军用语言Ada，深受中、小学生欢迎的语言LOGO等等。新一代计算机语言开发工具目前，程序设计语言及编程环境正向面向对象语言及可视化编程环境方向发展，出现了许多第四代语言及其开发工具。如：微软公司(Microsoft）开发的Visual系列（VC++、VB、FoxPro）编程工具及Power Builder等，目前已经在国内外得到了广泛的应用。
目前编程语言的简单分类
工业编程语言：A+ | Ada | 汇编语言| B | Brainfuck | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic .NET
脚本编程语言：ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言：APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他编程语言：ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
计算机语言如何学习
计算机主要是由两大部分构成的，硬件和软件，硬件就不用解释了，你的主机、显示器等等都属于硬件，但是光有硬件电脑是没有办法使用的，除非你拿机箱当柜子用！呵呵！所以就必须有软件支持！软件又分为系统软件，也就是你经常用的操作系统，WIN XP，Win200等等！再就是通用软件和应用软件。计算机语言也有一个发展过程，从最开始的计算机语言，也就是011010111，那个时候编程恐怕是非常痛苦的事，因为你要会用0和1表示一切！后来逐步发展，把一些常用的指令用英语单词表示出来，形成了汇编语言，这个时候也是比较痛苦的，你要记住那些单词的含义不说，还必须告诉计算机每一步要怎么做，而计算机又是一个非常笨的东西，你掉一个步骤他就罢工！而且汇编语言的可移植性差，也就是说你在这台电脑上写的程序到另一台电脑上可能就不能用了。