Go?Docker?技术人快速学习新技术

云计算,Go,中国程序员

上个月,Go 语言的创始人之一,Unix 老牌黑客罗勃·派克(Rob Pike)在新文章中提到,Go 语言这十年的迅猛发展大到连他们自己都没有想到,并且还成为了云计算领域中新一代的开发语言,中国程序员对 Go 语言的热爱完全超出了他们的想象。

虚拟化,Docker,中国技术人

Docker 负责人也有类似的感叹感叹,完全没有想到中国居然有那么多技术人喜欢 Docker,有这么多人在为 Docker 做贡献。中国是除了美国本土之外的另一个如此喜欢 Docker 技术的国家。

Go 语言和 Docker 已经成为新一代的云计算核心技术,对待这两项技术,你是在观望,还是要学习。作为技术人员,如何识别什么样的新技术会是未来的趋势,这是这篇文章的缘起。

Go 语言是在 2009 年底开源的,我花了一个周末两天的时间就学完了,而且在这两天,我还很快地写出了一个能工作很好的网页爬虫程序,以及一个简单的高并发文件处理服务,用于提取前面抓取的网页的关键内容。这两个程序都很简单,总共才写了不到 500 行代码。

我对 Go 语言的体会是:

  • 语言简单,上手快,学习曲线低。Go 语言的语法特性简直是太简单了,简单到你几乎玩不出什么花招,直来直去的,上手非常快
  • 天然的并行和异步编程,实现高并发非常容易。Go 语言的 Goroutine 和 Channel 这两个神器简直就是并发和异步编程的巨大福音。而 C、C++、Java 和 Python 这些语言的并发和异步非常复杂,而且容易出错
  • lib 库麻雀虽小五脏俱全。Go 语言的 lib 库中基本上有绝大多数常用的库
  • C 语言的理念和 Python 的姿态。C 语言的理念是信任程序员,保持语言的小巧,不屏蔽底层且底层友好,关注语言的执行效率和性能。而 Python 的姿态是用尽量少的代码完成尽量多的事

即便 Go 语言存在诸多的问题,比如垃圾回收、异常处理、泛型编程等,但相较于上面这几个优势,就毫不犹豫地入坑了。

一个技术能不能发展起来,关键还要看三点:

  • 有没有一个比较好的社区,比如 Linux 的社区
  • 有没有一个工业化的标准,比如Java像 J2EE 这样的企业级标准
  • 有没有一个或多个杀手级应用,比如PHP中的 LAMP

对于 Go 语言,能清楚的看到

  • Go 语言容易上手,社区异常活跃
  • Go 语言有 Google 这个世界一流的技术公司在后面推动标准
  • Go 语言的杀手级应用是 Docker,而 Docker 的生态圈在这几年完全爆棚

所以,个人觉得,Go 语言的未来是不可限量的。

对于 Go 语言的杀手级应用 Docker,你会发现基本一样:

  • Docker 上手很容易,的生态圈中有 Google 等大公司在后面助力
  • Docker 产出了工业界标准 OCI
  • Docker 的社区和生态圈已经出现像 Java 和 Linux 那样的态势

所以, Docker 也一定会是未来的技术。

关于 Docker 我还想多说几句,它是云计算中 PaaS 的关键技术,任何一个不重视 PaaS 的公司,其技术架构都不可能让这家公司成长为一个大型的公司, PaaS 能解决下面这些问题:

  • 软件生产线的问题。持续集成和持续发布,以及 DevOps 中的技术必需通过 PaaS
  • 分布式服务化的问题。分布式服务化的服务高可用、服务编排、服务调度、服务发现、服务路由,以及分布式服务化的支撑技术完全是 PaaS 的菜
  • 提高服务的可用性 SLA。提高服务可用性 SLA 所需要的分布式、高可用的技术架构和运维工具,也是 PaaS 层提供的
  • 软件能力的复用。软件工程中的核心就是软件能力的复用,这一点也完美地体现在 PaaS 平台的技术上

这些问题的关键程度已经到了能判断一家依托技术的公司的研发能力是否靠谱的程度。没有这些技术,依托技术拓展业务的公司几乎没有可能发展得规模很大。

在后面,我会另外写几篇文章详细地讲一下分布式服务化和 PaaS 平台的重要程度和实现细节,期待后续和大家更深入的沟通。

原文发布于微信公众号 - 架构师之路(road5858)

原文发表时间:2017-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏敏捷开发&项目管理

国产程序员陋习,写在农历猴年前

工作这么多年了,接触过一些外国程序员也接触过不少国产程序员。 觉得国产程序员还是有些陋习的,当然不是所有人都有,只是比较常见而已。 大家随便看看,当是娱乐就好了...

34340
来自专栏互联网杂技

每次不能把工作干好的时候,就看看

软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员...

34140
来自专栏非著名程序员

编程王道,唯“慢”不破

? 编程王道,唯“慢”不破 人和人之间编程速度的差异还是很大的,有的程序猿写代码非常快,有的却常常是龟速。Jeffrey Ventrella最近在一篇文章里探...

22080
来自专栏CSDN技术头条

BDTC 2014|IBM李永辉:Watson大数据与分析平台

【CSDN现场报道】2014年12月12-14日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中科院计算所与CSDN共同协办,以推进大数据科研、...

23670
来自专栏姬小光

毕业入职,五天根治死循环懵逼

又到了毕业生小鲜肉们成群结队步入职场的季节了,一张张充满好奇与紧张的拉格朗日第二类茫然表情,总让我想到当年的自己。

9940
来自专栏Crossin的编程教室

给未来的程序猿

有不少刚刚上大学的计算机专业学生问我,应当怎样去规划自己的编程学习,哪些东西比较重要。我虽不是什么大牛,但好歹也学了这么多年计算机,接触过几门技术,待过几家相关...

27460
来自专栏ThoughtWorks

IT工程师的自我管理 | 洞见

工作多年,我们见识到了很多厉害的人,他们可以兼顾家庭和工作,合理安排自己的事务和时间,能冷静的处理突发事件且理智的做出决策,把所有事情安排的妥妥当当。最初我以为...

36270
来自专栏姬小光

你为什么不敢分享?

前日我在《怎样实习才能成长最快》的 Chat 中提到了分享的问题。我发现,无论再怎么说尽分享的好处,同学们可能还是不知道从何处入手。就像大家都知道吸烟后果很严重...

16040
来自专栏诸葛青云的专栏

我为什么建议大家一定的会 C 语言

在如今 Python 和 Java 大火的市场前景下,我还是建议,如果你还在学校读书,或者你有大把的空闲时间,不着急去找工作,那就静下心来,好好学习一下 C 语...

31350
来自专栏我的小碗汤

go语言、docker和新技术

Go 语言的三位创始人之一,Unix 老牌黑客罗勃·派克(Rob Pike)在文章“Go: Ten years and climbing”中,回顾了一下 Go ...

16320

扫码关注云+社区

领取腾讯云代金券