计算机发展到现在,已经有数十年历史了,自从计算机能够编程以来,出现了各种各样的语言,今天,我们首先来认识下这些语言的类别,从中能够了解我们现在写程序应该遵循哪些步骤。
1. 低级语言
我们知道,计算机内部的存储、计算都是使用二进制,所以对于任何一台计算机,如果我们能够了解它的
指令集,就能直接使用二进制编写程序了,这种用二进制进行编程的语言称为
机器语言。这种语言需要专门的程序员才能编程,而且通常不同的计算机会有不同的机器语言,通用性很差。
这里是一个机器语言编程的、可以在Win XP等32位Windows操作系统上运行的程序。
后来,程序员们发明了利用一些简单的、接近人类自然语言的一些助记符来编程的语言,这就是
汇编语言。比如:在计算机的存储部件上移动数据用“MOV”来表示,乘法用“MUL”来表示等等。这种语言减小了程序员的工作量,使得程序员不必去记忆复杂而繁琐的二进制指令。但是,它与机器语言一样,是机器相关的。
机器语言、汇编语言统称为低级语言。它们运行速度快,但是学习困难,且是机器相关的。
2. 结构化程序设计语言
由于低级语言不具备通用性,学习过程较长,通常只有专门的人才才能使用这些语言。所以计算机科学家们开始以人类的自然语言为蓝本,设计人们学习起来更为方面的
高级语言。由于早期计算机的最新技术都是从美国发展起来的,所以,英语成为高级语言的基础。比如:用“if”表示判断,用“while”来实现循环等。
高级语言也可分为很多种,感兴趣的童鞋可以自己去问谷歌或者度娘。在这些语言中,结构化程序设计语言是一个划时代的语言。这种语言贯彻
结构化程序设计的思想,指出任何一个程序 ,都可以通过顺序、分支、循环三种结构来完成。结构化程序设计语言的出现,是计算机发展史上的一个重要的里程碑。其中,
Edsger Wybe Dijkstra、
Don Knuth、
Niklaus Wirth三位
图灵奖获得者发挥了至关重要的作用。
3. 面向对象的程序设计语言
虽然结构化程序设计语言极大减轻了程序员的工作量,方便了人们的学习和使用,但是也存在很多的缺陷,比如将数据与计算紧密联系在一起,当数据发生变化时,需要修改程序等。后来,科学家们又借鉴人类认识世界的基本方法,包括分类、继承、封装等思想,创建了
面向对象的程序设计语言。这类语言,将需要描述的事物或者需要解决的问题组装成很多的“类”,然后通过类去产生若干“对象”,对象之间不断地进行“消息”传递。
4. 其他种类的程序设计语言
结构化程序设计语言、面向对象的程序设计语言具有很强的通用性,在一些专门的领域,解决一些问题通常需要编写大量的代码,而且不一定适用这两种语言,所以又出现了很多专用的程序设计语言,比如用于设计网站的、用于数学运算的,等等。
包括这些语言在内,以及结构化程序设计语言、面向对象的程序设计语言统称为高级语言。由于高级语言是用人类的自然语言要素来描述的,计算机是不能直接执行的。这是,就需要一个称为“
编译器”的软件专门负责把高级语言书写的程序转换为机器语言所书写的程序。通常,我们把用高级语言所编写的程序称为“源程序”或“源代码”,通过编译所形成的程序称为“目标程序”或“目标代码”。
我们下面将要学习的C语言,或者叫做C程序设计语言,就是一种结构化程序设计语言,同样也需要经过编译后才能在计算机上执行。那么,我们应该如何来编写、编译和运行一个C所书写的程序呢?且听下回分解。