青岛网站建设
网站首页 联系我们

资讯中心

联系方式
  • 地址:青岛市李沧区金水路772号
  • 电话:0532-87606070
  • 手机:13969865210
  • 邮箱:web@toorain.net

行业资讯
Google抛弃C语言,采用Go语言重写Go编译器?
时间:2013-12-26 19:04:41  来源:青岛网站建设  点击:1571

    Go语言是Google开发的新型编程语言,将动态语言易于编写的特性和静态语言的高效性相结合,具备良好的易用性和极佳的执行效率。目前该语言已经发布了1.2正式版本。同时Go语言开发者Russ Cox近日透露,在Go 1.3版本之后,该语言的编译器将会使用Go语言重写。

    目前Go编译器gc基于C语言,是从Plan 9的C编译器衍生出来的,其中保持了原有的汇编程序、C编译器和链接器,而部分针对Go的编译器(gc/6g/8g/5g)使用C语言进行了重写。

青岛图韵网络提供青岛网站建设、青岛网站制作、青岛网站设计等专业化互联网服务,青岛网站改版、网站策划、网站推广、域名注册、空间租用、企业邮局、电子商务系统等互联网信息服务。欢迎各界光临洽谈!

公司网址:
青岛网站建设:http://www.toorain.net/

青岛企业网站制作:http://www.city86.com/

联系方式:
电  话:0532-87606070
联 系 人:李经理

E-MAIL:web@toorain.net
公司网址:
http://www.toorain.net/(官方网站)
http://www.city86.com/(成品网站)
公司地址:青岛市李沧区九水东路193号

青岛网站建设经营范围:
青岛网站建设、青岛网站设计、青岛网站建设公司、青岛做网站、青岛做网站公司、青岛网页设计、青岛网页设计公司、青岛做网站排名、青岛建网站排名,青岛网站制作、青岛网站制作公司、青岛网站设计公司、青岛做网站哪家好、青岛建网站公司哪家好?青岛最好的网站制作公司,青岛最好的网站制作公司,青岛最好的网站设计公司,青岛最好的网页设计公司,青岛最好的做网站公司,青岛最好的建网站公司,青岛最好的网站公司,青岛网络公司。

那么为何要采用Go语言实现?Russ Cox指出,采用Go语言来实现编译器相比C语言的优势在于:

1、编写正确的Go代码要比编写正确的C代码容易
2、调试不正确的Go代码要比调试不正确的C代码容易
3、Go编译器必然需要对Go有个很好的了解,而使用C语言实现则增加了一个不必要的二次需求
4、与C相比,Go语言对并行程序执行得更好
5、对于模块化、自动重写、单元测试以及分析,Go比C有更好的标准支持
6、使用Go比使用C更加有趣

    Russ Cox表示,他们计划将编译器从C实现转变为Go实现的过程,主要是通过自动翻译程序来进行。这一过程将分阶段进行:

第1阶段:开发和调试翻译程序。
第2阶段:使用翻译程序将编译器从C转换成Go,并删除部分C语言副本。该阶段可能会在Go 1.3版本中实现,可能仍会需要一些C代码。
第3阶段:使用一些工具将编译器分割成包,并清理部分代码、添加文档、添加集成测试等。这个阶段将在Go 1.4中实现,会将编译器彻底转换成为一个Go程序。
第4阶段:通过标准的分析和测量技术对编译器的内存和CPU占用率进行优化,可能会引入并行处理。该阶段将在Go 1.4中实现,部分特性可能会在Go 1.5中实现。
第5阶段:使用最新版本的Go解析器和类型替换编译器前端。

    对于为何不从头编写一个新的编译器,Russ Cox表示,从头编写是一个愚蠢的行为,这意味着要抛弃之前很多人很多年以来的工作成果。

    Go语言开发团队还尝试了手动将C代码翻译为Go代码,但是在翻译了几个小型的C/C++程序之后,他们发现这种方式比较繁琐,且容易出错,而且错误都非常隐蔽,不易发现。因此,他们决定首先开发出一个自动编译器,通过这种方式,出现的错误将会是一致的,容易查找。(青岛网络公司整理)