Go 语言源码可追溯到 1972 年?

红薯
 红薯
发布于 2012年03月16日
收藏 2

Go 语言团队已经在本周三发布了第一个发布候选版 Go 1 RC1(即 Beta4),正式版的发布已经为期不远。地鼠(gopher)们该行动起来啦!

周四就有地鼠提问,“Go 源码中几十年前的那些修订是什嘛情况哦?

原来,Go 代码库的最初四次修订发生于 1972-1988 年,然后才有了 Go 语言规范的初稿

其中,第一次修订 Revision f6182e5abf5e (1972) 是 Brian Kernighan《B 语言入门教程》第七节中的“hello, world!”示例代码:

main( ) {
 extrn a, b, c;
 putchar(a); putchar(b); putchar(c); putchar('!*n');
}

a 'hell';
b 'o, w';
c 'orld';

第二次修订 Revision b66d0bf8da3e (1974) 将程序用 C 语言重写了一遍,当年 Unix 内核的主要部分已经采用 C 重新编写:

main() {
 printf("hello, world");
}

第三次修订 Revision ac3363d7e788 (1988) 按 ANSI C 草案的标准加上了 #include 语句,并补上了漏掉的换行符:

#include <stdio.h>

main()
{
        printf("hello, world\n");
}

第四次修订 Revision 172d32922e72 (1988) 则给程序加上了输入原型与返回值:

#include <stdio.h>

int
main(void)
{
        printf("hello, world\n");
        return 0;
}

(次年,标准 C89(ANSI X3.159-1989)诞生。)

这四次修订重现了编程语言由 B 到标准化的 C 的发展史,也显示了项目组的宏伟抱负。当然,Go 团队本身也是大有来头,其中就包括 B 语言与 Unix 作者 Kenneth Thompson 和 Plan 9 架构师 Rob Pike,他俩都曾在贝尔实验室工作,并共同完成了 UTF-8 编码的创立。(via cnet)在 Go 语言中,Ken Thompson 还弥补了没能在 Unix 中“拼全‘create’”的遗憾。(via mattn

Go 公布初期就提供了 cgo 命令以及 gcc 前端 gccgo,可以说 Go 本身就是对历代成果 fork 而来的项目。

敬请期待 Go 的正式发布!

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Go 语言源码可追溯到 1972 年?
加载中

最新评论(17

青萍之末
青萍之末
并发不如erlang,写系统不如c/c++,web不如java系。。。有什么用
FreeZ
FreeZ

引用来自“Sanatir”的评论

先观望,Google出的语言一般雷声大雨点小。。

自己的人都不用,看看再说吧。
一刀
一刀
C语言可以追溯到三国时期,当年赤壁之战,周瑜用C语言写了个通讯加密系统,后来被蒋干破译,带给了曹操,其实中了周瑜的反间计。
unknown
unknown
对Go很看好,因为佩服Google的勇气,其他的新语言都是象Java这样应用层次比较高的语言。而Go却是系统级语言(和C和C++类似)。个人觉得这很有挑战。
aiasfina
aiasfina
先观望,Google出的语言一般雷声大雨点小。。
MUTEX
MUTEX
GO = Game Over ?
逍遥客
还是ERLANG吧
unknown
unknown

引用来自“SeaJones”的评论

有前途,相应的辅助库太少。

辅助库太少?向Java那样多的都不知道怎么选?
它自带的库已经很强大了,至少作为一个编译型语言却自带Web库。
返回顶部
顶部