首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gopher China 2018 讲师专访-方圆

工作多年的小码农,谢大多年基友。罗辑思维首席架构师,曾先后在 Cisco,新浪微博从事基础架构研发工作。十多年一直专注于后端技术的研发,在消息通信,分布式存储等方向有着丰富的经验(突然感觉自己很老)。个人技术兴趣广泛,主要专注 Go/Java/Python 等编程语言的发展,尤其是在云计算等前沿领域的应用(其实我最喜欢的还是拿起相机做老法师)。

什么原因,什么时候与Go结缘?

10年的时候,听过一次许式伟的演讲,当时觉得Go语言还挺有意思的。但是当时Go还处在比较早期的阶段,也没有深入了解。大概2012年左右的时候,一个偶然的机会认识了谢大。当时他似乎工作很不饱满,要在网上找学生学习Go语言,正好我当时也很想学习下Go语言,因此就上了谢大的贼船,还交了500块钱(当时可是一笔巨款,当然后来退还了)。后来就一发不可收拾,在工作上也开始用Go替代Python和Java,特别是后来我们用Go做游戏后端,Go语言的简单和高并发的特性也帮助我们迅速开发。再后来,随着docker,k8s,微服务的流行,Go的优势就越来越大,因此在自己的工作中越来越多的使用到Go语言。

有什么想对Gopher说的话和建议?

1. 要建一个服务器,很难想象除了使用 Go 还能使用什么。

2. Go就是一门艺术,做人做事一样,简单可依赖。

3. 学习Go要多动手,多看书,多思考

4. 建议看一些优秀的go框架源码,比如etcd或者k8s

5. 动手的过程中,不断压测、不断优化、不断的提升自己

6. 扩宽自己是知识边界,比如运维相关的知识、数据库相关的知识

7. 学会交流,在自我提升的过程中,有疑问既要尝试自己寻找方案,也要学会求助交流,比如厂外专家,比如通过gopher china这样的技术大会多学习

8. 浏览一些golang大牛的博客和知名的网站,学习一下他们学习、做事的方式,关注一下业内的动向

有什么学习Go 的方法和书籍推荐?

对于学习Go语言来说《Go语言实战》、《Go语言学习笔记》、《Go并发编程实战》、《TouchDevelop: Programming on the Go》都可以买来看,谢大的《Go Web 编程》是学习如何使用Go语言做web开发也是必读的好书记。个人也建议看一遍官方的language specificaition,effective go和go faq,对学go,理解go很有帮助。此外,还包括一些社区,比如Go官网、Go语言中文网、全球最大的同性交友网站github,都有丰富的golang案例。

1、学习golang很重要的一点是动手能力,对于初学者来说,找一个简单的例子先运行起来,然后不断的往上面增加自己的代码;

2、对于进阶者来说,多看源码,找一些优秀的go框架,比如谢大的beego,认真学习学习;

3、一段时间之后,随着对go语言的掌握越来越熟练,可以尝试自己动手去造点简单的轮子;

4、如果你想成为一个牛逼的人,除了Golang的本身知识,还需要有扎实的计算机基础,比如网络、数据库等等。

最后,坚持很重要,任何一个牛逼的人都有一段苦逼的岁月,如果坚持不住了,你可以想想涨工资,就能坚持下去了。这样日积月累,相信你一定能成为一个合格、优秀甚至牛逼的Golang工程师。

如何看待Go在中国的发展,预计未来是什么样?

Go是一门简单高效的语言,个人非常看好Go的未来。现在已经有大量的公司在践行Golang,甚至很多是从Python/PHP/Java转到Go语言,尤其是一些类似于中间件的基础设施项目。随着未来云计算,IOT等技术领域的发展,一定会有大量需要Go语言的场景。对于一门语言来说,需要看中的有几点。

1、有个“好爹”,就像当年Java背后的Sun,现在Object-C背后的Apple,Go背后站着Google,而且Google已经有Android的成功先例,有个“好爹”对于语言推广来说是收益很大的。

2、要有规范和杀手级应用,对于规范来说Go team本身做的不错,而docker、K8S都是Go的杀手级应用;我相信未来会出现越来越多的Go杀手级应用;

3、保持语言的简单性和庞大的库(包括第三方库和标准库),Go的标准库做的很好,第三方库也逐步发展起来了。

4、 语言社区也很重要,这就要看大家一起努力。

目前来看,Golang已经是多点开花:

1、Web开发:比如beego,对开发人员很友善,比如自动生成swagger等等;

2、中间件:etcd等等;

3、云计算:K8S等等。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180221B0G6DC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券