正文
Robert Griesemer
:曾协助实现 Java 的 HotSpot 编译器和 JavaScript V8 引擎。
Rob Pike
:曾是贝尔实验室的 Unix 团队和 Plan9 操作系统成员,与 Thompson 一起创造了 UTF-8 字符编码。
Ken Thompson
,不用多说了,技术圣殿的人物,创造了 C 语言和 Unix,获得了 1983 年图灵奖和 1988 国家技术奖。
据说这些大神们创建 Go 语言的初衷是:近十年来开发程序之难让我们有点沮丧。于是 Go 诞生了。
Golang 是一门全新的、现代的、语法简洁并容易上手的编程语言,它不像 Scala 或 JRuby 这样的语言,要依附或脱胎于其他平台或语言,而是抛开历史包袱完全重新设计的、致力于充分发挥现代硬件性能的一门工程语言,具备独立的运行时库,就像 C 语言一样。
C 语言的强大勿用多言,但我们不得不承认,C 是一门既简单又极度复杂的语言,以至于你每写一行代码,都能想象出编译后指令的执行,堆栈的分配,C 充满了太多不着边际的规则,程序员如同行走在黑暗的森林里无所适从。Go 就好得多,语法关键字和控制语句都做到了最简模式,并且规则严谨,少有歧义,不像 Ruby 那样可以写出各种「奇技淫巧」的黑魔法代码。无论是高手还是初学者,大家写出来的代码都差不多,如同太祖长拳,在普通拳师和乔峰手里,威力大不相同,但招式都差不多。这是简单的本质。
Go 语言的 Hello World 是这样的:
package main
func main() {
println("Hello, World")
}
写一段异步执行的程序也非常简洁,比如在执行程序的时候你想异步记录一些日志:
func log(msg string){
...
}
go log("Bad things happened...")
Go 语言简化了自增和自减运算符,保留了指针,把切片(slice)和字典(map)作为内置类型,从运行时层面进行了优化,保证了语言的简洁和容易使用。