阅读:0

C语言的演变过程

与C语言相关的语言很多。其中最早的一门语言叫 Algol 60,是 1960 年产生的,它是真正的第一门面向问题的语言。但是这门语言离硬件比较远,所以 1963 年剑桥大学在 Algol 60 的基础上研发出了 CPL。CPL 同 Algol 60 相比更接近硬件一些,但规模比较大,难以实现。1967 年剑桥大学的马丁·理查兹(Martin Richards)对 CPL 进行了简化,产生了 BCPL。BCPL 中的 B 就是 Basic 的缩写,即“简化的”。

1970 年,美国 AT&T 公司贝尔实验室(AT&T Bell Laboratory)的研究员肯·汤普森(Ken Thompson)以 BCPL 为基础,设计出了很简单而且很接近硬件的B语言(取 BCPL 的首字母)。B语言是贝尔实验室开发的一种通用程序设计语言。虽然它没有流行起来,但是它很重要。肯·汤普森用B语言做了一件很重要的事情,一直影响至今,即他用B语言写出了世界上第一个操作系统——UNIX 操作系统。

1971 年,贝尔实验室的丹尼斯·里奇(Dennis Ritchie)加入了肯·汤普森的开发项目,合作开发 UNIX。他的主要工作是改造B语言,使其更加成熟。

1972 年,丹尼斯·里奇在B语言的基础上最终设计出了一种新的语言,他以 BCPL 的第二个字母作为这种语言的名字,即C语言。

1973 年年初,C语言的主体完成。肯·汤普森和丹尼斯·里奇开始用C语言完全重写 UNIX,这就是 UNIX 第 5 版。随着 UNIX 的发展,C语言自身也在不断地完善。直到今天,各种版本的 UNIX 内核和周边工具仍然使用C语言作为其最主要的开发语言,其中还有不少继承肯·汤普森和丹尼斯·里奇之手的代码。

UNIX 系统是世界上第一个真正的操作系统。由于 UNIX 操作系统是用C语言编写的,而这个系统很流行,于是C语言也跟着流行起来。而 UNIX 操作系统是开源的,所以别人要想学习,就要先学C语言。

B语言被C语言改写后,C语言流行了而B语言就被淘汰了。而且后来发现,C语言的确非常好,它是面向过程语言的代表,是有史以来最重要的一门计算机语言。

随后又出现了 C++。C++ 是本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)编写的,他也来自贝尔实验室,是C语言创始人丹尼斯·里奇的下属。C++ 就是在C语言的基础上发明的。C++ 进一步扩充和完善了C语言,是一种面向对象的程序设计语言。

后来 Sun 公司又对 C++ 进行改写,产生了 Java。而微软公司发现 Java 很流行,就造出了一个类似的语言——C#。所以 Java 和 C# 都源自于 C++。

以上就是C语言演变的过程。从这个过程我们可以看出,如果以后要学习 C++、Java 或者 C# 的话,那么C语言就必须要学!因为它们都源自于C语言。而且C语言中绝大部分的知识,在 C++、Java、C# 中几乎都会用到。C语言里面有两个知识点是必须要学的,一个是函数,另一个是指针。这两个知识点是整个C语言的主体和核心。而且这两个知识点在其他语言中是学不到的,或者是同C语言中有差别。总之,C语言是它们的“老祖宗”,学习其他语言之前最好要将C语言学好。