服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

GCC和C语言,鸡生蛋还是蛋生鸡?

日期: 来源:脚本之家收集编辑:轩辕之风
 关注
“脚本之家
”,与百万开发者在一起

作者 | 轩辕之风
来源 | 编程技术宇宙(ID:xuanyuancoding)

前几天,粉丝群里聊到了一个有趣的问题:

C语言最主流的编译器当属GCC,但GCC本身也是由C语言写的,那第一个GCC是怎么来的?

GCC本来就是用来编译C语言的,那当初第一个GCC又是怎么编写出来的呢?

PS:我找到了第一版的GCC源码

https://github.com/huangguiyang/gcc-0.9

这有点类似于那个经典的哲学问题:先有鸡还是先有蛋?

要回答这个问题,可能需要去翻开计算机的发展历史,去历史的痕迹中寻找答案。

首先,C语言是什么时候诞生的?

答案是六十年代末,七十年代初。

那GCC又是什么时候出来的呢?

看吧,GCC是1987年才有了第一个版本,整整比C语言的诞生晚了十多年!那这十多年间,C语言程序是用什么编译呢?肯定有别的编译器。

我们来问问博学多识的ChatGPT同学:

根据ChatGPT的解答,第一个C语言编译器是用B语言写出来的。

我们的问题似乎解答了,但似乎又没有解答。

继续追问下去,那第一个B语言编译器又是怎么来的?这就像科学家一直在追逐的一个问题:世界的起源在哪里?

提到这个问题,就牵出一个重要的概念:自举

大意说的是编译器可以自己编译自己,在不断迭代中完善,举个例子:

一开始的时候,什么高级语言都没有,只有汇编指令,现在我们要发明一种高级语言Q语言。

1、先定义出一个最简单版的高级语言Q0.1,然后用汇编语言写一个能编译这个Q0.1的编译器。

2、在Q0.1的基础上增加一些语法变成Q0.2,然后用Q0.1+汇编写一个能编译这个Q0.2的编译器。

3、···

在这个过程中Q语言渐渐完善,能编译Q语言的编译器也一步步出来了。

这听起来有些抽象,来看个具体的例子:

现在,你应该知道编程语言和编译器这个鸡生蛋蛋生鸡问题的答案了吧。

最后我想说,真的很佩服当年这些大佬,编程语言不好用,就发明一门编程语言,缺编译器就开发一个编译器,操作系统不好用就开发一个操作系统,更厉害的是,这些五六十年前搞出来的东西直接沿用到今天,还成为了整个计算机工程体系的基础设施,实在是吾辈楷模啊!

再看看如今的我们,哎不说了



  推荐阅读:
这是一件程序员才懂的T恤
C++崛起,摘得TIOBE 2022年度编程语言
ChatGPT能取代多少程序员?
面试黑话翻译,听懂就是避坑
一年翻一倍!神奇的PHP,变老了,也更离不开了!
Office 2019/2021专业增强版,正版终身授权!
<END>

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前的文章,比如一些送书的限时福利,错过了就是错过了。


所以建议大家加个星标,就能第一时间收到推送。

相关阅读

  • 长沙正负极大会优质展商| 智子智能

  • 广东智子智能技术有限公司(智子智能,SOPHON)致力于成为全球领先的物料处理技术服务公司,公司组建来自国内外一流的材料专家及设备专家团队,基于对材料特性及生产工艺的深入研究
  • 两会现场,张文宏最新发声!

  • 点蓝字关注,不迷路~综合自上观新闻、人民日报健康客户端今天下午,全国政协十四届一次会议首场“委员通道”集体采访活动在人民大会堂新闻发布厅举行。央广记者提问:请问
  • 残局 | 借力使力

  • 我们知道单马是不能杀单王的。但是如果给这个单王加几个兵反而就能实现了。有点画蛇添足的感觉。例1:如图,1634年隆里维奥创作的排局,黑方多了2个兵,白单马能完成将杀,不细讲了,看
  • 速看!带上这份赏花地图!游“花样太原”~

  • 一到春天,太原就美成了花园一年春景莫错过,最是花开好看时让我们跟着赏花地图一起寻找锦绣太原的醉美春色吧~打卡太原赏花胜地迎春花迎春花开,春天来了。娇黄的迎春花在微风中
  • 女生身高多少算「矮」

  • 来源:网易哒哒(ID:dadatime)END 关注网易哒哒,以独特视角解构世界,每天几分钟,get有趣世界不想错过我们的老铁请动动你们的小手指点亮星标☆吧↓↓↓↓↓

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • GCC和C语言,鸡生蛋还是蛋生鸡?

  • 关注“脚本之家”,与百万开发者在一起作者 | 轩辕之风来源 | 编程技术宇宙(ID:xuanyuancoding)前几天,粉丝群里聊到了一个有趣的问题:C语言最主流的编译器当属GCC,但GCC本身也是由
  • 大龄互联网人,去哪了?

  • 关注“脚本之家”,与百万开发者在一起在互联网行业工作的人,多多少少都听说过“35岁定律”,即35岁还不能成为管理层,就很有可能被优化。而在真实的职场面试中,35岁的确成为了互
  • 汪小菲代工厂要IPO了

  • 川味IPO大军集结。作者 I 周佳丽报道 I 投资界PEdaily四川又要跑出一个IPO了。投资界—天天IPO获悉,本周,四川白家阿宽食品产业股份有限公司(简称:阿宽食品)更新招股书,继续推进在
  • LP圈发生了什么

  • 「解码LP」系投资界旗下专注LP报道公众号,关注各地基金政策,捕捉LP最新动态,欢迎关注!根据公开信息统计:截至周五下午,本周(2月25日-3月3日)LP动态共22起事件。厦门市技术创新基金扩
  • 消失的菜市场

  • 人间难寻烟火气。作者 I 东方来源 I 灵兽(ID:lingshouke)“去哪个地方,都要去那里的菜市场转转。” 这是汪曾祺在《食道旧寻》中的话。他说,去看看生鸡活鸭、鲜鱼水菜、碧绿的黄