作家
登录

左耳朵耗子:Go语言,Docker和新技术

作者: 来源: 2017-11-06 14:54:12 阅读 我要评论


日前,作为 Go 说话的三位开创人之一,Unix 老牌黑客罗勃·派克(Rob Pike)在新文┞仿“Go: Ten years and climbing”中,回想了一下 Go 说话的成长过程。个中提到,Go 说话这十年的迅猛成长大年夜到连他们本身都没有想到,并且还成为了云计算范畴中新一代的开辟说话。还提到了,中公法度榜样员对 Go 说话的酷爱完全超出了他们的想象,甚至他们都不敢信赖是真的。

这让我想起,我在 2015 年 5 月份拜访 Docker 公司在湾区的总部时,Docker 负责人也和我表达了类似的感慨:他们完全没有想到居然中国有那么多人爱好 Docker,并且还有这么多人在为 Docker 做供献,这让他们认为非平平易近外。此外,还跟我说,中国事除了美国本土之外的别的一个如斯爱好 Docker 技巧的国度,在其它国度都没有看到。

切实其实如他们所说,Go 说话和 Docker 这两种技巧已经成为新一代的云计算技巧,并且可以看到其成长态势异常迅猛。而中国也成为了像美国一样在强力推动这两种技巧的国度。这切实其实是一件让人认为异常高兴的事,因为中国在跟随时代潮流这件事上已经做得异常不错了。

然而,大年夜 2014-2015 年我在阿里推动 Docker 和 Go 说话的苦楚和掉败过程中,以及这很多年来,有很多很多人问我是否要学 Go 说话,是否要学 Docker,Go 和 Docker 是否能用在临盆线上,这些问题看来,对于 Go 说话和 Docker 这两种技巧,在国内的技巧圈中有相昔时夜的一部分人和群体还在执不雅望或是不信赖的立场。

所以,我想写这篇文┞仿,大年夜两个方面来阐述一下我的不雅点和看法。

  • 一个方面,为什么 Go 说话和 Docker 会是新一代的云计算技巧。
  • 另一个方面,作为技恋人员,我们若何辨认什么样的新技巧会是将来的趋势。

(图片来自 Medium:Why should you learn Go?)

固然 Go 说话是在 2009 岁尾开源的,但我是大年夜 2012 年才开端接触和进修 Go 说话的。我只花了一个周末两天的时光就学完了,并且在这两天,我还很快地写出了一个能工作很好的网页爬虫法度榜样,以及一个简单的高并发文件处理办事,用于提取前面抓取的网页的关键内容。这两个法度榜样都很简单,总共才写了不到 500 行代码。

这两个问题是相辅相成的,所以我会把这两个问题揉在一路谈。

这些关键新技巧,可以让你拿到技巧的先机。这些对一个须要技巧引导力的小我或公司来说都是异常重要的。

我当时对 Go 说话有几点领会

第二,并行和异步编程几乎无痛点。Go 说话的 Goroutine 和 Channel 这两个神器的确就是并发和异步编程的巨大年夜福音。像 C、C++、Java、Python 和 JavaScript 这些说话的并发和异步方法太控制就比较复杂了,并且轻易掉足,而 Go 解决这个问题异常地优雅和流畅。这对于编程多年受尽并发和异步熬煎的我来说,完全就是让我面前一亮的感到。

左耳朵耗子:Go说话,Docker和新技巧
(图片来自 Medium:Why should you learn Go?)

第三,Go 说话的 lib 库麻雀虽小五脏俱全。Go 说话的 lib 库中根本上有绝大年夜多半常用的看维固然有些库还不是很好,但我认为不是问题,因为我信赖在将来的成长中会把这些问题解决掉落。

第一,说话简单,上手快。Go 说话的语法特点的确是太简单了,简单到你几乎玩不出什么把戏,直来直去的,进修曲线很低,上手异常快。

第四,C 说话的理念和 Python 的姿势。C 说话的理念是信赖法度榜样员,保持说话的小巧,不樊篱底层且底层友爱,存眷说话的履行效力和机能。而 Python 的姿势是用尽量少的代码完成尽量多的事。于是我可以或许感到到,Go 说话想要把 C 和 Python 同一路来,这是多棒的一件事啊。

左耳朵耗子:Go说话,Docker和新技巧

所以,即便 Go 说话存在诸多的问题,比如垃圾收受接收、异常处理、泛型编程等,但相较于膳绫擎这几个优势,我认为这些问题都是些小问题。于是就毫不迟疑地入坑了。

当然,一个技巧能不克不及成长起来,关键还要看三点。

有没有一个比较好的社区。像 C、C++、Java、Python 和 JavaScript 的生态圈都是异常丰富和火爆的。尤其是有很多贸易机构介入的社区那就更为人气爆棚了,比如 Linux 的社区。

有没有一个工业化的标准。像 C、C++、Java 都是有标准化组织的。尤其是 Java,其在架构上还搞出了像 J2EE 如许的企业级标准。

有没有一个或多个杀手级应用。C、C++ 和 Java 的杀手级应用不消多说了,就算是对于 PHP 如许还不克不及算是一个好的编程说话来说,因为是 Linux 时代的第一个杀手级解决筹划 LAMP 中的关键技巧,所以,也成长起来了。

上述的┞封三点是异常关键的,新的技巧只须要占到个一一到两点就已经很不错了,何况有的技巧,比如 Java,是三点全占到了,所以,Java 的成长是如斯好。当然,除了膳绫擎这三点重要的,还有一些其它的影响身分,比如:

  • 进修曲线是否低,上手是否快。这点异常重要,C++ 在这点上越做越不好了。
  • 有没有一个不错的进步开辟效力的开辟框架。如:Java 的 Spring 框架,C++ 的 STL 等。
  • 是否有一个或多个巨型的技巧公司作为后盾。如:Java 和 Linux 后面的 IBM、Sun……
  • 有没有解决软件开辟中的痛点。如:Java 解决了 C 和 C++ 的内存治理问题。

用这些标尺来量一下 Go 说话,我们可以清跋扈地看到:

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)