go是用什么语言实现的?

taatcc · 2019-07-29 12:04:55 · 1909 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2019-07-29 12:04:55 的主题,其中的信息可能已经有所发展或是发生改变。

听说早期的go是用汇编+c写的,现在的go是用go实现的,我同事说还是汇编,不知是否是这样?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1909 次点击  
加入收藏 微博
4 回复  |  直到 2019-07-30 09:40:55
wy666
wy666 · #1 · 6年之前

我知道的不会太准确。粗略的说,编译器最底层的部分(bootstrapping)是汇编和c作为基本go语言支持,然后在此基础之上用以前版本的go来写剩下的go编译器,这个编译器生成后能够完全处理当前版本的go语言。

polaris
polaris · #2 · 6年之前

部分汇编肯定是存在的,任何语言都会存在,但不能因此说是汇编实现的。

focussoft
focussoft · #3 · 6年之前

go之前是纯C写的,所以它只依赖libc库。 后来是完全能自举了,所谓的自己就是自己实现自己。 至于有没有汇编,没翻过源代码所以不好确定, 对于能跨硬件平台编译的高级语言来说,使用汇编来优化和提高性能的场合不多的。

taatcc
taatcc · #4 · 6年之前

感觉现在的静态语言都会先用其它语言先实现,然后自举,但脚本语言大多没有自举

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传