听说早期的go是用汇编+c写的,现在的go是用go实现的,我同事说还是汇编,不知是否是这样?
我知道的不会太准确。粗略的说,编译器最底层的部分(bootstrapping)是汇编和c作为基本go语言支持,然后在此基础之上用以前版本的go来写剩下的go编译器,这个编译器生成后能够完全处理当前版本的go语言。
#1
更多评论
go之前是纯C写的,所以它只依赖libc库。
后来是完全能自举了,所谓的自己就是自己实现自己。
至于有没有汇编,没翻过源代码所以不好确定,
对于能跨硬件平台编译的高级语言来说,使用汇编来优化和提高性能的场合不多的。
#3