C语言本身是用什么语言写的?

112 篇文章 0 订阅
106 篇文章 0 订阅

先说结论:C语言由B语言编写,B语言是由A语言编写 A→B→C

好了,不开玩笑了

既然你能提出这个级别的问题,说明你应该学过C。既然你能提出这个级别的问题,说明你没学过编译原理(或者全还给老师了,容我不厚道一下下)。

你所谓的"C语言",准确来说,指的是能把C语言程序翻译成机器指令程序的"编译器"程序。

先用汇编写一个极小的原始编译器(AC),能编译最简单的C语法。然后用该原始编译器AC编译一个最简单的C编译器(CC1)。然后用CC1编译一个稍微复杂一点的C编译器(CC2)。最终,像滚雪球一样,C语言就把一个拥有完全编译功能的C编译器给编译出来了。

经典教材《编译原理》,开篇讲的就是这个问题。

本人新建一个技术交流圈子,群主是10年老技术人员,某上市公司的技术负责人,群里面每天会给群友解答疑问,招聘内推,点击即可加入圈子

技术交流群,群友每天分享干货,答疑解惑
最早的高级计算机语言是,ALGOL 58、后来进化为ALGOL 60。分别被创造于1958年和1960年,这门语言暂且被称为A语言,尽管当时的人不这么叫,现在的人还是习惯了。

1963年,由剑桥和伦敦大学合作改进的CPL语言出现,当时并没有把它命名为C语言、也不是B语言。鉴于是对A语言的改进,暂且叫做A+语言吧。这门语言更接近硬件一些,但是使用不那么容易,很多事情还是难以实现。

1967年,这时候B语言(BCPL)来了,这也是第一个有了小括弧,大括号的语言。由剑桥大学的马丁·理察德简化CPL语言而来。

19世纪60年代末的时候,正在上班的Ken Thompson,想自己着手开发一个电子游戏,苦于没有操作系统,于是在1970年Ken用B语言写了一个造作系统叫做UNIX。1971年,贝尔实验室的D.M.Ritchie加入Ken的兴趣团队,一块完善了UNIX。

1972年,闲来无事的D.M.Ritchie觉得很无聊,在一个闲情雅致的下午,D.M.Ritchie决定对B语言进行改造。于是产生了C语言。C语言并不是为了和A、B语言排队而命名,而是取自BCPL语言的第二个字母。C语言一诞生,便迫不及待的用C语言重写了UNIX系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值