ZKX's LAB

Java为什么不自举? 编译器 自举

2020-10-17知识15

编译器的自举原理是什么? 早期的Pascal编译器都是围绕着由Niklaus Wirth提供的一组工具构造出来的,这些工具包括:1、一个用Pascal…

计算机编程语言必须能够自举吗? 设计一种新的计算机编程语言的时候,用新设计的语言编写语言自己的编译器或解析器是不是编程语言设计过程…

Java为什么不自举? Golang也好,Rust也好很多高级语言都实现了自举。而很多人拿Java和C++比较,我只想说:为什么Java不自举…

C语言是用什么编出的? 首先答案是c语言是用c语言编写。语言自举性一个语言能否自己编写自己实现自己编译,这叫自编译,自举性。目前能实现自举性的语言没有几个,而自举性也就成了一个语言能否真实强大的标志。一般来说图灵完备的语言,编译型语言,虚拟机语言可以实现自举。而解释型语言基本上很难。现代很多语言都没实现自举,Java(jvm),Javascript,python,ruby,lua,php,perl…一堆。这些语言编译器、解释器都是c语言。一个语言能自举是他们社区和开发一直梦寐以求的事情,也是他们情怀和追求所在。有一个语言为了实现自举成功,花了近20年,前年圣诞节才正式推出了第一个正式版本。它就是perl6,perl的下一代语言。perl6支持过程、OO、函数式三种程模式,支持虚拟机的语言(自己的虚拟机和jvm)。为了做好perl6,社区搞了一个功能启示录,把要实现的功能好点子都录进去。后来一个日本人参考这个启示录自己实现了一个语言,这就有了ruby语言,但是ruby没有自举。c语言的自举过程和交叉编译我在以前的回答中,曾说过c语言的来历:上世纪70年代,为了实现unix,教主Tomphson和Ritchie开发了B语言,但是b语言性能不行,编写也较繁琐,所以又在B语言的基础上开发出了现在的C语言。第一个C语言。

#c语言#编程语言#汇编语言#编译器优化

随机阅读

qrcode
访问手机版