(图片来自 Medium:Why should you learn Go?)
所以 , 即便 Go 语言存在诸多的问题 , 比如垃圾回收、异常处理、泛型编程等 , 但相较于上面这几个优势 , 我认为这些问题都是些小问题 。 于是就毫不犹豫地入坑了 。
当然 , 一个技术能不能发展起来 , 关键还要看三点 。
- 有没有一个比较好的社区 。 像 C、C++、Java、Python 和 JavaScript 的生态圈都是非常丰富和火爆的 。 尤其是有很多商业机构参与的社区那就更是人气爆棚了 , 比如 Linux 社区 。
- 有没有一个工业化的标准 。 像 C、C++、Java 这些编程语言都是有标准化组织的 。 尤其是 Java , 它在架构上还搞出了像 J2EE 这样的企业级标准 。
- 有没有一个或多个杀手级应用 。 C、C++ 和 Java 的杀手级应用不用多说了 , 就算是对于 PHP 这样还不能算是一个优秀的编程语言来说 , 因为是 Linux 时代的第一个杀手级解决方案 LAMP 中的关键技术 , 所以 , 也发展起来了 。
- 学习难度是否低 , 上手是否快 。 这点非常重要 , C++ 在这点上越做越不好了 。
- 有没有一个不错的提高开发效率的开发框架 。 如:Java 的 Spring 框架 , C++ 的 STL 等 。
- 是否有一个或多个巨型的技术公司作为后盾 。 如:Java 和 Linux 后面的 IBM、Sun……
- 有没有解决软件开发中的痛点 。 如:Java 解决了 C 和 C++ 的内存管理问题 。
也就是说 , Go 语言不会吞食底层到 C 和 C++ 那个级别的 , 也不会吞食到上层如 Java 业务层的项目 。 Go 语言能吞食的一定是 PaaS 上的项目 , 比如一些消息缓存中间件、服务发现、服务代理、控制系统、Agent、日志收集等等 , 他们没有复杂的业务场景 , 也到不了特别底层(如操作系统)的软件项目或工具 。 而 C 和 C++ 会被打到更底层 , Java 会被打到更上层的业务层 。 这是我的一个判断 。
好了 , 我们再用上面的标尺来衡量一下 Go 语言的杀手级应用 Docker , 你会发现基本是一样的 。
- Docker 容易上手 。
- Docker 解决了运维中的环境问题以及服务调度的痛点 。
- Docker 的生态圈中有大公司在后面助力 , 比如 Google 。
- Docker 产出了工业界标准 OCI 。
- Docker 的社区和生态圈已经出现像 Java 和 Linux 那样的态势 。
- ……
同样 , 我们可以看到 Kubernetes 作为服务和容器调度的关键技术一定会是最后的赢家 。 这点我在去年初就能够很明显地感觉到了 。
关于 Docker 我还想多说几句 , 这是云计算中 PaaS 的关键技术 。 虽然 , 这世上在出现 Docker 之前 , 几乎所有的要玩公有 PaaS 的公司和产品都玩不起来 , 比如:Google 的 GAE , 国内的各种 XAE , 如淘宝的 TAE , 新浪的 SAE 等 。 但我还是想说 , PaaS 是一个被世界或是被产业界严重低估的平台 。
- docker|富士康郑州厂iPhone产能回升 分析师:12月产能利用率翻倍达60%
- 学物联网?你挑对编程语言了吗?这五个物联网顶尖语言你学会了吗
- 学习任何一门编程语言,都应遵循的五个步骤,按步骤不怕学不会
- C+难学,但是有人说很多时候C+又比C语言要好学习?这可能吗?
- docker|【Docker学习系列】Docker学习5-Docker镜像理解
- 马斯克说自己能让人类语言在5年内淘汰,再也不必为学外语烦恼!
- c语言|为迎接小米13!小米12S降价近1000元,性能最强的小屏安卓旗舰?
- lua|直播场景下的人货定义新解读 火山引擎数智平台推出专项解决方案
- C++ 首超 Java,与 Python、C 共角逐年度最佳编程语言奖!
- 手语是失聪者的“语言”,全世界的手语都一样吗 蚂蚁庄园12月3日答案早知道