这是来自我的星球的一个提问:“C语言本身用什么语言写的?”
20世纪60年代,贝尔实验室的研究员肯·汤普森发明了BCPL语言(简称B语言),并使用B语言编写了一个游戏。肯·汤普森想玩这个游戏,于是他背着老板找到了台空闲的机器,但是这台机器没有操作系统,于是汤普森着手为开发操作系统,这就是后来大名鼎鼎的UNIX操作系统。
编写操作系统最常用的编程语言就是C语言了。用C语言编写的第一个操作系统是 Unix,之后的 GNU/Linux 等操作系统也都是使用C语言编写的。C语言不仅仅是操作系统语言,也是当今几乎所有流行的高级编程语言的先驱,这些编程语言多多少少都借鉴了C语言的架构和优点。
机器语言可以直接被CPU执行,不需要编译器。然后是汇编语言, 汇编语言虽然只是机器语言的助记符,但是也需要编译成机器语言才能执行,没办法只能用机器语言来写这第一个编译器了(以后就不用了)。汇编语言的问题解决了,就往前迈进了一大步,这时候就可以用汇编语言去写C语言的编译器,我们说这是C编译器的老祖宗。
我用汇编写一段Hello World都很麻烦,居然有人可以用它写复杂的编译器?这可能吗?当然可能,在开发第一代Unix的时候,连C语言都没有, Ken Thompson 和 Dennis Ritchie 可是用汇编一行行把Unix敲出来的。 WPS第一版是求伯君用汇编写出来的。
C语言在提供了许多低级处理的功能的同时,仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
免费领取学习资料