每一天我都跟许多人谈论到 Go语言。除了像 Google 或者 Github 这样的地方之外,在 Go语言 用户上我们可能已经有了世界上最大的数据集。我们也从各种渠道收集到很多有趣的生产环境运行时数据。外部数据中的一些主动策划从公共资源处获取到的,而其 他部分则是自动从招募网站、github 资源库、公司博客、linkedin 还有其它资源那里收集到的。这将我们引向一个有趣的问题:

这些 Go语言(地鼠gopher)们到底是从哪个洞里面钻出来的?

软件开发工具

几乎所有这几年出现的 软件开发 工具都已经被用 Go语言 语言改写了。我觉得这恐怕预示着什么。通常,相对于一般的开发小组,小公司的运维小组收到的监管很少。只要是能工作的工具,他们一般就会去用,而不需要获 得谁的批准。对他们来说 Go语言 语言工作的非常棒,这是一门静态类型和编译型的语言(无需安装需要上千个依赖的运行库),而且 Go语言 的运行库也不大,也不用动不动就需要 100-300M的磁盘空间(看看 ruby、jvm 吧)。

比特币

许多 DeferPanic 上的我们的用户都与比特币/虚拟货币有关。这并非巧合,整个生态系统的共同点是使用Go语言。最有意思的是,我们所服务的那些公司,并不像你们以为的那样 会运行某些应用。基本上就是基于文件系统的,或者是校验由2008年建立的一堆杂乱的服务生成的交易。例如:极少数尝试把套利交易变成兑换。

不管你听到过什么,比特币都还没有死掉。很多用例传统上没想到过的,但是实际上已经有了很大的成功。我们的这些用户需要有高性能和更好的数据安全性的保证,Go语言在这方面显然是很好的选择。

容器技术

有趣的是和那些科技人士交谈后发现他们居然不知道今天所有容器技术都是 Go语言 写的,不是 99%,也不是 95%-100%。

所有今天在使用的容器软件都是 Go语言 写的。

市场营销人员应该开始用 Go语言 原生来替换云原生。

我们可以强调这是有多大(的市场)?即使你不相信容器的炒作,认为这是一个庞式骗局。当你考虑到所有公司使用 Go语言 的人数,并且未来几年大公司使用 Go语言 人数巨大。问你从世界财富五百强的首席信息官那听说他们将要检修他们系统,你不得不意识到这订单很大。这不是他们看轻这件事,相反,他们也不会轻易的从中 走开,因为这是一个巨大的对时间,金钱以及过程的投资。

微服务

微服务在过去的几年风靡一时,不少分析师忽略了它们的价值,因为他们并不是搞技术的。当你用maven下载了半个互联网,同时启动要占用 800M 虚拟内存,或者当你运行一个 RoR 的应用的时候占用了 200M,这和 Go语言 平均 5-20M 的运行时想比真是相差巨大。这种差距可以立刻转换到账单上,当你公司每个月少给 25-30 美金在 AWS 上就显而易见了。随着这种激烈的趋势下去,我们会看到越来越多的公司因为上述理由采用这种模式,并且你可以打赌即将迎来 Go语言 的时代。

商业应用

当谈及到一些知道 Docker 的人很有趣,他们甚至会去投资它在他们并不知道这个是由一个他们从未听过的 Go语言 编写而成的之前。在某种情况下,我想大概可以认作为“细节摘要”,当你把所有内容都说出来是很疯狂的。当然,事情也并非总是如此。

从来自 Battery 的 Adrian (也是来自 Netflix)今年在他与公司的交流中曾经数次说到 Go语言:

“大概四分之三的新东西是用 Go语言 写的 @golang” – 十二月十四号

L 接着他又提到 “几乎所有新的、有趣的东西都是用 Go语言 写的”.

在他的行业里面他可能有更好的眼光,因为他参加过很多会议,并如此的接地气。

来自 Mayfield 的 Robin Vasan 甚至在今年的 goper 大会上进行了一次演讲

在 VC 工作,并且精通 Go语言 的 Jerry Chen 曾经出席大会并有良好表现。

采用

早年,C++ 曾一度被嘲讽为是无能的 C 编程人员才使用的语言。后来,Java 出现了,但也没有多大的改善。Joel早就对此很失望。 究其原因是,在上世纪 90 年代后期所推行的一堆面向对象的概念,完全是在胡说八道,并且对未来有害无益(虽然当时难以预见)。摩尔定律失效了。现在,大家都用虚拟计算机做软件开发 和交付,这是一种完全不同于上世纪 90 年代的做法。不过,谁会想得到呢。事后诸葛亮还是好当的。

旧金山的工程师们对此或许会感到有些惊讶。在旧金山,有一大群的开发人员每天想着朝九晚五的上下班,回到家后就不再碰触电脑。他们可能是形形色色 的,但我想他们都有一个共同的特点,那就是他们“编码只是为了完成任务”。他们丝毫不关心热门的新框架,也不在乎是否使用最新的“最佳实践”。他们唯一的 心愿就是“完成任务”。

Go语言 在这方面很出色(去掌握这门技术吧)。它真真正正的让开发人员做到了恰好搞定工作。

众观世上所有程序设计语言,没有其它任何一门语言能够在“完成任务”模式上有优势。然而,对于软件的未来,这一点却非常重要。因为,每一家公司都不得不招收越来越多的开发人员,开发越来越复杂的系统。

Go是新的JVM

Go替代JVM和.NET成为企业级编程语言是很显而易见的。

例如,我在旧金山演讲的时候几乎所有的Scala企业都在一点一点的迁移到Go,许多欧洲的企业也在做着同样的事情。

另一个我听到比较多的比较和是Node。我发现人们尝试用Node去比较Go的时候都有点奇怪。首先你是比较语言的框架,其次你用 Javascript(差不多和Java的发布时间一样)和Go进行比较。在人类的岁月里,Java和Javascipt都喝醉在酒吧的某个角落,Go当 时甚至还没有从幼儿园里学会第一个字母,但现在Go依旧能得到这混乱市场的份额。

然而,真正愚蠢的人总是提及现在使用Go的人数-这基本上是伪科学的定义。我不认为谈论1900年路上车的数量是有意义的。

更精确且相关的应该是讨论Go在生态系统的方面(加密货币,容器)和增长速率,而不是原始的下载数。
因此,让我们来看一些谎言。
让我们来看一些该死的谎言。
让我们来看一些统计数据。

人们只需要看看 Node 和 Go语言 聚会的出席率来做出自己的判断,从字面上看是两倍,完全没有竞争能力。

似乎每个人都很享受推特风暴,那么这条怎么样?我不知道应该把 DropBox 归属在什么类别(除了大),但是我觉得这会给你一个得体的想法去支持 Go语言 在接下来的几年里:

另外,你还认为只是谷歌和一些旧金山消息灵通的人在使用Go嘛?又是猜的。Go在中国很多人用,而且本地的百度也有一个大的用户,他们正在开始使用Go。

显然Go是一个有美好未来的新语言,Go无用武之地?

然而现实是这样的:“在美国市值前20的企业有超过一半正在使用Go”

为什么选择Golang

  • 有C基础,学Golang非常轻松
  • 同步方式轻松实现高并发
  • 代码简洁,格式统一,阅读方便
  • 性能强劲的同时,开发效率又不差于Python等动态语言

最后

如果你还没有开始使用 Go语言 就说明你的公司已经落后了。在 90 年代、00 年代落后可能并不是大不了的事情,我们仍然有当时的 “IT” 概念,但是现在可是快接近 2016 了。

你不能被抛在后面,不然你的业务就会死。

这不是一个原始的资源游戏,在成本的十分之一提交软件。我们几次都注意到这很高的影响工作效率。不管你信不信这会相当你有十倍的编程人员,Go语言 会让你们小组的效率提升十倍以上。

所有招募来工作于基础系统的,如果你不使用 Go语言,将使你公司的技术冒上风险。

Ruby 显然已经完了。Javascript 是误导的、python 踩上了数据科学家的高跷。JVM 西斯君主握住你的脖子,.NET最近开源企图想留在开源相关面。

Go语言 在未来,Go语言 是你的未来,你还有得选择。

Go语言 会统治接下来的十年!

接下来我们会出一个go语言的系列的教程,敬请期待...

文章目录