学习计算机的小伙伴都知道软件是用编程软件编的,所以一些小伙伴比较好奇编程软件是怎么来的,用一句话回答就是:软件是用编程软件编的,那么编程软件同样是用编程软件编的。下面就让小编为大家分享一篇相关文章,感兴趣的小伙伴一起来看看吧。
软件是用编程软件编的 编程软件是怎么来的
编程软件有很多功能,包括编辑、编译、调试、解释、测试等等。为简单起见,我们这里只讨论编译功能。不严格地说,编译可以理解为是将人类能看懂的程序代码翻译成机器能看懂能执行的机器语言。如果是Windows上写C程序,那编译器的作用就是将C程序翻译成exe后缀的二进制文件(也可能是dll,这里不去深究)。
那么编译器本身也是exe,也是机器语言,它又是谁编译出来的呢?不失一般性,我们假设有一个编写C语言的编程软件,或者就直接叫编译器,它的名字是cl。有一个很好玩的事实,编译器可以自己编译自己。说的具体点,cl3.0版本可以用cl2.0版本编译生成出来,cl2.0用cl1.0编译出来。当然前提是假设这个cl2.0以上都是用C语言写的源程序。所以说有了第一个cl版本,1.0版本,后面的都不是事。
现在问题来了,第一个cl.exe怎么来的呢?有很多可能。说不定当时市面上已经有了另一款C语言编译器,而第一个cl如果是用C语言开发的,它当然就可以用那款C编译器编译出来。
而如果假设cl本身就是世界上第一个C语言编译器,怎么破?那么它肯定不可能也是用C语言写的,因为第一个嘛,还没有谁能编译C语言程序。第一个C语言编译器可以用汇编,或者B语言,或者其他的某种已经有编译器的语言编译出来。至少用汇编是绝对没有问题的。
接着思考,第一个汇编程序怎么来的?那就没有办法了,靠手写了,人工写机器语言。而在那个时候,程序是非常短小的,用人工写也不会是太复杂。汇编程序就是把汇编语言翻译成机器语言的程序。比方说一句汇编指令,叫做mov ax,bx,翻译成机器语言就是1000100111011000。简单吧。基本上接近一一对应,至于如何对应,就要查CPU厂商的硬件手册。比如因特尔386,比如酷睿i7。只要手工写出一段用二进制形式的机器语言,能实现将汇编语言翻译成等价的机器语言,就搞定了。当然这不是一两天能搞定的,但是一旦写好,后面的事就简单了。有了第一个汇编程序,就能汇编出第一个C语言编译器,有了第一个C语言编译器,就能编译出第二个第三个其他的C语言编译器。有了C语言编译器,还可以编译出其他语言,比如JAVA、C#的编译器。
相关链接 | 查看地址 |
编程为什么都是英语 编程为什么没有汉语 | 点击查看 |
Mimo编程软件有哪些功能特色 | 点击查看 |
2017年编程语言排行榜 | 点击查看 |
山外KEA编程助手怎么样 | 点击查看 |
没有编程语言基础如何学习人工智能 | 点击查看 |
Python未来发展趋势如何 | 点击查看 |
Python发展前景怎么样 学习Python如何职业规划 | 点击查看 |
Java和Python哪个语言好用 | 点击查看 |
Java 和 C/C++区别是什么 | 点击查看 |
TIOBE中排名前十的编程语言 | 点击查看 |
2017年的编程语言排行榜 | 点击查看 |
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!(982149908@qq.com)