Go 語言源碼可追溯到 1972 年?

fmms 12年前發布 | 8K 次閱讀 Go 語言

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 的正式發布!

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!