程序语言的变迁

本文首发 | 公众号:lunvey

导读:提及计算机语言,听闻过C++,它是计算机专业高校生必修课。作为早期语言C的扩展,填补了类的空白,将面向对象这一特性融入其中,理所当然地成为了流行度最高的高级程序语言,长期活跃在编程语言榜单前五。本文将通过编程语言的发展来介绍C++的前世今生。

人类文明的发展离不开语言文字,同理,日新月异的计算机技术也离不开编程语言的变迁。

和人一样,同为躯干的计算机,因为编程语言,繁荣了枝叶,衍变出各种各样丰富的应用程序。

自从计算机于1946年问世以来,70多年时间,硬件和软件都蓬勃发展,大致经历了这些过程。

编程语言阶段 编程语言特点
机器语言 二进制指令构成,计算机直接识别,执行速度快,但0和1构成的代码晦涩难懂,不易开发和维护程序
汇编语言 用助记符映射二进制指令,和人的思维相差甚远,抽象层次太低,需要考虑大量机器细节
高级语言 结构化数据、结构化语句、数据抽象、过程抽象,屏蔽机器细节,接近人类思维

计算机发明的同时,就出现了编程语言。计算机是硬件,一个实实在在的物理设备,而操作这台设备需要不同的指令,用以完成不同的功能。这些指令就构成了程序,统称软件。对计算机发出这些指令的过程叫做编程,使用的代码语言叫做编程语言。早期计算机,主要用于科学计算,通过0和1组成的冗长二进制指令,来控制计算机的运算过程。这时的编程语言停留在机器语言阶段,不但晦涩难懂,不易识记,而且开发难度大、周期长,软件功能单一。

为了解决这个问题,出现了汇编语言。通过一些特殊约定的字符来描述指令的操作,如ADD表示两数相加,对应的就是一堆完成这个操作的二进制代码。使用助记符以后,虽然在机器语言的基础上进行了改进,但是思维习惯依然和人类相差甚远。汇编语言通过汇编程序,将汇编语言翻译成了二进制指令,让机器直接识别。这样的进步,意味着人与计算机的交互除了机器语言,还可以是别的语言。正因如此,通过编译程序的思想,高级语言开始发展。

C++是一门高级语言,由C语言拓展而来。因为在C语言的基础上增加了类的设计,从而用面向对象思想来描述对象。物以类聚,人以群分。C++因为具备了类,从而可以将现实问题所涉及的客观事物的共同属性和行为提炼出来,用于重复调用。类是群体,对象是个体。如果我们需要描述群体中的个体,就需要将对象实例化,也就是从类中创建个体的过程,使得这个对象具备类中包含的全部属性和行为,并可以针对个体的差异性进行修改。这样的思想就叫做面向对象。

我们学习C++,除了语言本身,更多的是这种面向对象的程序设计方法。

Tags: