首页 > Unix/Linux, 技术读物, 编程语言, 轶事趣闻 > Go语言源码的一个改动

Go语言源码的一个改动

2009年11月12日 发表评论 阅读评论 8,247 人阅读    

2009年11月11日,光棍节,Google发布了Go语言,马上,就有网友在http://code.google.com/p/go/上找到了一个Go语言包文件操作源码/src/pkg/os/file.go文件的一个最新改动。这个改动的作者就是那个大名鼎鼎的Unix之父Ken Thompson(看看人家,都这么老了,还在写程序,佩服佩服,真是顶级程序员啊——《程序员的八个级别》),而这个改动的Log Message如下所示(把屏抓下来,以免以后某日被放到墙外或是google.com数据丢失或是Google公司倒闭)

Spell it with an “e”

spell it with an e

 

这是一个很著名的典故,要知道这个典故,你需要知道两件事,一个是Ken Thompson的经典语录,一个是Unix的系统调用。

关于Ken Thompson的经典语录,你可以在wikipdia上的Ken Thompson词条中找到,这个事情是这样的。

Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: “I’d spell creat with an e.” (Ken Thompson有一次在被问到——如果他可以重新设计Unix系统,他会做些什么不同的事?而他回答到:“我会把“creat”多拼一个e”

“I’d spell creat with an e”,也就是说,他会把creat这个单词拼成create,而不是creat。为什么是creat呢,这需要我们来看一下creat这个系统调用,你可以在Unix或Linux下简单地man creat你就可以知道,这个系统调用连带其某些参数,如:O_CREAT,都是一个少了“e”的create。(Unix下的有很多东西都是简写,如:usr,gp,ls,mv,ps,满大街的都是缩写)

看看这个改动的diff——这个diff只有一行,第65行,抓屏如下(理由同上)

spell it with e  diff

40年后的今天,Ken Thompson参与Go语言设计,于是,他提交了这个改动,也算是圆了他的愿望,从这点看来,Ken Thompson把Go语言看得和Unix一样重啊。难道Go语言也会像Unix一样成为另一个传奇?(Unix传奇 上篇下篇

(全文完)





好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 4.38 )
Loading ... Loading ...
  1. 2009年11月12日09:13 | #1

    最后3个链接都是死链。。

  2. lennie
    2009年11月12日09:47 | #2

    大哥能把rss输出改为全文输出吗?在greader里总是要点过来看全文 ..

  3. 2009年11月12日10:34 | #3

    呵呵,很想试试这种新语言 ^_^

  4. 2009年11月12日10:46 | #4

    很有意思,我要学习Go语言去!

  5. 2009年11月12日11:01 | #5

    bones7456 :

    最后3个链接都是死链。。

    对不起,文章写得快了点,没有仔细检查,现已修复!

  6. gugaotianshi
    2009年11月12日11:22 | #6

    囧…..

  7. 2009年11月12日11:46 | #7

    呼唤全文输出…

  8. cc
    2009年11月12日13:26 | #8

    为什么要多加一个e呢,本文还是没有说清楚啊

  9. mono
    2009年11月12日15:30 | #9

    @cc
    UNIX新手总是对UNIX对命令的命名表示惊讶。在DOS和Mac上受的教育不足以让他们体会到cp、rm、ls这类两字母命令的简洁和优美。
    像我们这样用过70年代早期的IO设备的人都能理解,ASR-33 Teletype这类设备的速度、可靠性,以及它的键盘是万恶之源。和今天这种基于反馈原理、只需要关闭一个微开关的键盘不同,你必须用足力气揿下Teletype的键至少半英寸,以发动一个类似自行车上用的小型发电机,在上面操作要冒指骨骨折的危险。
    如果当时Dennis和Ken用的是Selectric而不是Teletype,可能今天我们敲的将不是”cp”和”rm”而是”copy”和”remove”了。(Ken Thompson曾被问道如果他能重新设计UNIX他将做什么修改,他回答说:“我会在creat命令后加上个e。”),科技在拓宽我们的选择的同时,也能限制我们的选择,此一例也。
    —-摘自unix痛恨者手册

  10. mhsy2003
    2009年11月12日20:54 | #10

    谁搞个Go群哈?好像语法一开始不是很习惯。

  11. 2009年11月13日00:16 | #11

    整个go设计的很有味道 用起来很舒服的感觉

  12. LInd
    2009年11月13日12:07 | #12

    总感觉看不全….

  13. 2009年11月13日15:04 | #13

    哈哈哈,Ken Thompson真的多加了个“e”。这个典故我也是在《unix痛恨者手册》里看到的

  14. 2009年11月13日16:30 | #14

    介绍这个的课真多呀

  15. 2009年11月13日19:21 | #15

    文章的wikipedia少了一个e…

  16. ( ⊙ o ⊙ )啊!
    2009年11月13日19:21 | #16

    越来越觉得,所谓自主知识产权是一个阴谋。
    什么都自主了,就可以闭关了。

  17. tam
    2009年11月27日19:31 | #17

    到处都在说这个Go语言,怎么网站上都下不了一个完整的编译器,怎么玩啊… …

  18. 2010年3月13日18:59 | #18

    貌似很有前途的样子

  1. 2011年2月26日22:29 | #1
  2. 2011年12月28日23:57 | #2

无觅相关文章插件,快速提升流量