关于go语言

javatgo · · 1013 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

从go语言刚出来时就看过了一些介绍,也用go语言写过几个小程序,(hello world之类,哈哈),但是当时没有什么特别的感觉,比较郁闷的是group.google.com被墙了,因此上go-nuts讨论组还要,自从tor又被禁了之后,连也懒的动了,于是有几个月没有再关注go的进展。最近突然想到google的讨论组可以通过邮件的(太脑残了,这个都没有想到),于是又重新开始关注go语言。

前段时间大概看了一遍tutoiral,还有speicfication,总算是明白了go语言的目标:号称“系统级开发语言”,脚本/动态语言的语法,低级语言的执行性能,便捷的并行开发,快速的编译。但是今天看到了go-nuts上关于go语言中channel性能的一个讨论,主要是与java进行了对比,结果很不理想。其中有人评论说,java经过10多年的发展才走到今天这一步,而go出现不到1年,还有很长的路要走,而它目前在性能以及完备性方面与它所作出的承诺相去甚远。

以64位机而言,6g为编译器负责编译*.go,6a为汇编器负责编译*.s(这里的汇编都是plan9格式的),6l为链接器(链接*.6),6c负责c文件的编译(这里的c格式为plan9格式的),cgo为编译混合了c语言的go文件的。其实go语言用了很多plan9的东西。有时间可能得看看plan9是什么了。

go的编译器是bison写的,但是没有和flex混用,而是自己写了一个token识别程序。其他的一些具体的涉及语言细节的东西还没来得及看,本来想用gdb来跟踪一下的,结果发现进入具体的p9main函数之后,debug的显示就乱掉了,真是郁闷,到现在也没有搞清楚到底是啥原因。只要老老实实去看源代码了(终于找到原因了,看一下篇文档)。

本文来自:ITEYE博客

感谢作者:javatgo

查看原文:关于go语言

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