6

许式伟:Go 语言有机会登顶,桌面侧亟待突破

 3 years ago
source link: https://studygolang.com/articles/34786?fr=sidebar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

许式伟:Go 语言有机会登顶,桌面侧亟待突破

mob604756f0bbf4 · 大约5小时之前 · 61 次点击 · 预计阅读时间 4 分钟 · 大约8小时之前 开始浏览    

写在前面

这是 GVP 首位公布的超级大咖,这是一个所有中国 Gopher 无人不知的名字。无论是创建国内首批全面拥抱 Go 语言的七牛云,还是《 Go 语言编程》一书的编写,抑或是他独力发起并维护至今的 ECUG 社区,他的一切努力都在推动着 Go 语言的前进。

时至今日,他依然在坚持着。

Go 中国带着敬意和好奇采访了许式伟,传说中不善言谈的他在 Go 的问题上却格外健谈。关于语言、七牛、行业、社区、自己,这是一次真实而纯粹的交流。

关于语言

01

您的职业生涯尝试过C、Java、Erlang、C++,最终选择了Go,可以谈谈这几个语言各自的优劣吗?

C 的优点:简单直接,特性少,功能强。历史悠久,社区资源丰富。
C 的缺点:指针过于灵活,用户门槛高。手工管理内存心智负担高。对接口、闭包等高级特性表达上不够简洁。
C++ 优点:表达力极强,功能强大。兼容 C。
C++ 缺点:最复杂的语言,没有之一。指针过于灵活,用户门槛高。手工管理内存心智负担高。
Java 优点:中规中矩。程序员多,社区资源丰富。内存管理基于 GC,心智负担低。基于 VM 字节码,天然提供了跨平台的插件机制。
Java 缺点:语言 OO 流派痕迹明显,有些刻意。表达上有些死板,不够活泼(不是灵活)。
Erlang 优点:语言特性简洁,且易于高并发程序的编写。内存管理基于 GC,心智负担低。
Erlang 缺点:动态类型语言,工程质量保证的负担高。没有基础的int类型(只有bigInt),计算性能低。语言小众,社区资源少。
Go 优点:简单直接,特性少,表达力强(不只是功能强),心智负担低。低学习门槛,容易写出高质量代码,投入产出比最高。语言特性稳定,可以预期除了增加泛型不会再出现其他大的调整。工程支持程度高(尤其包的版本管理能力加上后)。兼容 C。内建高并发支持。创始团队能力强,迭代快。
Go 缺点:还不支持泛型。兼容 C 在高并发的支持上做的还不够好。资源集中在服务端开发,桌面开发的社区资源少。

02

七牛自成立起就把Go语言做为核心语言,当时国内没有一家主流公司广泛使用,面对人才储备不足,没有成功案例的情况下有压力吗?面临最大的问题是什么?遇到过什么危机吗?

没有遇到过压力。早期 Go 人才少,这没错,但是竞争对手也少,喜欢 Go 的人都听过我们,愿意加入我们。大家在技术上的选择已经有共同认知,这说明很多内在的东西。人才和公司的辨识度都很高,所以招聘效率高。而且 Go 容易上手,哪怕没有学过,我们也不培训,直接上岗,通过代码评审在实战中纠正与提高。在这块几乎没有遇到什么问题。可能唯一有个问题是早期 Go 功能迭代快,也还没有发布 1.0 版本,版本间兼容性差。我们的对策也很简单,就是固定在一个 weekly 的版本,好像是 weekly-2011.6.23 吧。所有人都用这个版本,直到 Go 1.0 发布我们才升上来。Go 团队很人性化,提供了 gofix 程序可以自动升级代码到 1.0,所以我们基本没有遇到什么困难,更不用说危机。

03

现在越来越多的主流大公司开始转Go,您有什么建议吗?在选型上什么场景适合使用Go语言,什么场景不适用或不推荐采用Go语言?

选 Go 其实没什么负担,也没什么好建议的,唯一建议就是及早入坑。早一天就是一天的生产力。当前桌面端开发还不太适合,其他都挺合适的。如果团队实力强,可以在游戏类的桌面开发进行尝试。我个人已经试过了,没有遇到大的障碍,技术已经成熟。当然如果不愿意吃螃蟹,那就建议再等等。

04

您 2012 年预测,Go 语言 10 年内会超过 C 和 Java,成为排行榜第一的语言。您认为 Go 语言成为排行榜第一的语言还需要哪些契机?

这只是一个时间问题。就像我经常说创业需要看十年一样,一个公司要成功普遍需要十年。这里十年是虚指,可能是 8 年,也可能是 12 年。Go 成功只花了不到 5 年,显著比其他语言快。Go 在语言设计上有登顶的潜质,目前看也仍然如此。如果非要说一个契机的话,我认为是 Go 进入桌面开发,有一个像 docker 和 kubernetes 这样的杀手级应用。桌面开发的人才远多于服务端开发,所以就算搞定所有服务端开发人员,这门语言仍然只能算 “小众”。

05

最近有没有看到让您眼前一亮的 Go 的项目。您认为现在 Go 的技术人想创业,什么业务最有潜力?

比较难出现像 docker 和 kubernetes 这样的杀手级应用。Go 技术人创业,和技术人创业是一样的,不会因为带上 Go 有多少加分。什么业务最有潜力有点命题作文的意思,这不太好,创业者最应该追求的是本心,我热爱什么,就去做什么,不要去理风口,去关心用户的问题。没有热爱,你根本坚持不下去。

06

预测 Go 语言会成就的下一个风口在什么领域?原因是什么。

大数据领域会有机会,但是 Hadoop 生态会有比较强的惯性,目前看也不容易。PingCAP 的 tidb 影响力不错,值得关注。但我个人觉得桌面侧反而是容易的,只是需要个契机。原因是,我觉得当前桌面开发人员最需要被拯救,他们的知识更迭太快,太痛苦了。

07

您跟七牛默默支持了很多Go的项目,包括goproxy.cn,发起人来投稿才被更多人知道,这么正面的事情为什么选择低调处理。

我们支持,仅仅是因为想支持。我们希望大家知道的是我们有什么样的很棒的产品,而不是我们做了哪些好人好事。

关于七牛和云


01

七牛今年将 AI 和容器云产品线做了拆分,后续会将发力点放在哪条产品线上,还是准备有秘密武器?

我们分拆产品线是两个方面的考量。一个是让七牛更专注。一个是让这些业务有更大的独立发展空间。我曾经内部有说,希望七牛有一天会是一个创造 CEO 的公司,我们会孵化出很多独立业务。这仍然是我的梦想。我自己创办过金山实验室,也参与过盛大创新院,对怎么孵化业务有颇多的总结与反思。但是,当前的七牛不应该把心思放在孵化业务上,所以我们一个反思是要专注。至于我们发力点在什么地方,2020年我们会对外去谈。当前还是先让子弹飞一会。

02

目前国内公有云市场遇到瓶颈期,2C的消费互联网红利消失殆尽,在产业互联网领域七牛的优劣势是什么?

在产业互联网,七牛的优势是两点,一个是消费互联网的经验,这是很多做产业互联网希望沟通与学习的。二是探索比较早,我们内部在 2017 年就谈移动红利消失,提前布局产业互联网了。但这的确是一个非常痛苦的摸索过程。我内部经常用 “散、慢、繁” 来形容产业互联网的特征。“散” 是客户很分散,不像移动互联网,客户都在那里。看上去谁都是客户,但是一聊好像又不是那么完全对口。“慢” 是客户内部流程长,决策慢。“繁” 是客户已经有一堆传统 IT 供应商,被养得比较叼,各种定制需求,让你接也不是,不接也不是。最终最本质的优势还是必须建立在产品的竞争优势,和对客户的理解上。

关于自己

01

为什么突然想做七牛大学?定位是什么?是基于您个人和七牛的技术输出还是搭建平台?

七牛大学有几重意思。第一重意思是七牛人的大学,我接下来会让所有七牛人进来都参与培训,当然第一步是从技术人的培训做起。第二重的意思是我希望七牛从 IT 技术服务商,到业务咨询方。产业转型升级不是一个简单的 IT 技术问题,它是跨界融合,是产业 Know How 与 IT 技术的碰撞,这需要我们的服务能力也要升维。当然我们步子不会走得很快,关键是走扎实。所以我们第一步是从架构课的线下培训开始的。架构是我最擅长的领域,容易形成一个比较犀利的突破口。

02

您之前对技术和行业发展的预测都很精准,投的项目也赶上了快速发展的红利,有没有考虑做专业投资人?

投资人其实是很辛苦的,飞来飞去,我应该就是相对项目比较少的投资人,不太会做专业投资人。我自己的乐趣还是自己去参与到创造的过程中去,虽然投钱看着项目成功也很有乐趣。所以我应该一直只会是业余投资人。

03

您坚持了10多年的ECUG大会,本月要举办了,您坚持做这个大会的初衷和目标是什么?

这是一个技术交流的窗口。无论我今天作为技术人还是作为创业者,保持对业界前沿技术探索的持续关注都是很有必要的。每年年底都是一个回顾与总结的节点,回顾一下这一年技术领域都发生了哪些变化,挺好的。我会一直坚持它的技术性,成为真正的技术探索的一扇窗口。

关于 GVP

向下一位受访GVP提一个问题或要求他做一件事拍照发在朋友圈。可指定受访者,受访者要从回答问题和完成事件并发朋友圈二选一。

我点刘奇吧。我觉得他做 tidb 的确是非常有挑战的一件事情,我想很多人都会关心他的初心是什么。


有疑问加站长微信联系(非本文作者)

280

本文来自:51CTO博客

感谢作者:mob604756f0bbf4

查看原文:许式伟:Go 语言有机会登顶,桌面侧亟待突破

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK