我注意到,前4个版本f6182e5abf5e
,b66d0bf8da3e
,ac3363d7e788
,172d32922e72
围棋源都来自很久以前Golang甚至提出,从1972年的最古老的存在。他们也都归功于AWK区名望的Brian
Kernighan。它们似乎是hello, world
用C实现的。这是复活节彩蛋还是有实际用途?
该线程提到:
敬意,复活节彩蛋,开个玩笑,请选择:)。还要注意相关提交的作者
所述线程将此提交作为起点,但也指出了Golang项目的实际第一次提交,以及Go规范的第一次修订。
前四次提交的(指定的)“作者”是Brian Kernighan。
罗伯·派克(Rob
Pike)
于1980年代在贝尔实验室(Bell
Labs)与布莱恩(Brian)合作,因此这可被视为他职业渊源的参考。
这个复活节彩蛋的想法是为了说明Hello World
C语言程序的演变:
(请参阅最近的GopherCon 2014 hellogophers.slide
年 4月演讲 -Rob
Pike )
hg log -r 0:4
changeset: 0:f6182e5abf5e
user: Brian Kernighan <bwk>
date: Tue Jul 18 19:05:45 1972 -0500
summary: hello, world
$ hg update -r 0
$ cat src/pkg/debug/macho/testdata/hello.b
main( ) {
extrn a, b, c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
changeset: 1:b66d0bf8da3e
user: Brian Kernighan <bwk>
date: Sun Jan 20 01:02:03 1974 -0400
summary: convert to C
$ hg update -r 1
$ cat src/pkg/debug/macho/testdata/hello.c
main() {
printf("hello, world");
}
changeset: 2:ac3363d7e788
user: Brian Kernighan <research!bwk>
date: Fri Apr 01 02:02:04 1988 -0500
summary: convert to Draft-Proposed ANSI C
$ hg update -r 2
$ cat src/pkg/debug/macho/testdata/hello.c
#include <stdio.h>
main()
{
printf("hello, world\n");
}
changeset: 3:172d32922e72
user: Brian Kernighan <bwk@research.att.com>
date: Fri Apr 01 02:03:04 1988 -0500
summary: last-minute fix: convert to ANSI C
$ hg update -r 3
cat src/pkg/debug/macho/testdata/hello.c
#include <stdio.h>
int
main(void)
{
printf("hello, world\n");
return 0;
}
changeset: 4:4e9a5b095532
user: Robert Griesemer <gri@golang.org>
date: Sun Mar 02 20:47:34 2008 -0800
summary: Go spec starting point.
附录 E. 修订历史 2004-05-20 (5.4) Added 第 12.1 节 “概览”. Added 第 12.2 节 “安装 SOAP 库”. Added 第 12.3 节 “步入 SOAP”. Added 第 12.4 节 “ SOAP 网络服务查错”. Added 第 12.5 节 “WSDL 介绍”. Added 第 12.6 节 “以 WSDL 进行 SOAP 内省”. Adde
交互式洐合是修改单个提交的好方法。 git filter-branch是修改大量提交的好方法。
我第一次使用 Python 是因为我需要为我所编写的 “钻石(Diamond)”程序编写一个安装程序,这样我就能让安装过程更加便捷。我必须要在 Qt 库的 Python 与 Perl 的绑定间做出选择。我在网上了做了些研究,然后我便发现了埃里克·雷蒙(Eric S. Raymond)撰写的一篇文章,埃里克是一名著名且备受尊重的黑客,在文章中他说 Python 已经成为了他最喜欢的编程语言。同时我也
订单历史记录取决于结账后用户订购的产品。 它包括产品的历史记录,包括订单号,用户名,订单状态等。 您可以使用以下步骤查看产品的订单历史记录 - Step 1 - 转到Store ,然后单击Orders链接。 Step 2 - 您将获得订购产品列表的屏幕。 它包含如下字段 - Order Number - 这是产品的订单号。 Updated - 它指定产品最后更新的时间。 Name - 订购产品的用
我们有一个Android应用程序,可以实现订阅,出于分析目的,我们需要用户进行的所有交易。 我们希望通过API获取所有事务,但找不到任何返回此信息的Googleendpoint。 在Google Play控制台中,我们可以看到这些事务。 在inspector中,我看到Google使用私有endpoint来获取这些数据,但我找不到任何公共APIendpoint。 Google私有endpoint是,
问题内容: GoF的原始Builder模式与Joshua Bloch的“修订的GoF Builder模式”之间有什么区别? 问题答案: GoF模式着重于抽象化构造步骤,这样,通过更改构建器,您可以得到不同的结果,而“经修订的构建器”则针对由多个构造器添加的不必要的复杂性问题。因此,GoF模式更多地是关于抽象,而修订后的模式更多地是关于简单性(IMO)。 看一下http://en.wikipedia