专访William Kennedy:如何学习Go语言
第四届GopherChina大会将在4月14日于上海举办,这次大会邀请了William(Bill) Kennedy前来举办Go语言培训。我们借此机会对他进行了采访,了解他对Go语言的开发以及对新人学习的一些建议。
\\
受访嘉宾介绍:
\\
Bill 是 Gopher US 大会的组织者之一,《Go in Action》作者,Bill 有着25年的开发软件和应用的经验。 2013年开始接触 Go 并成为了 Go 的布道者,至今已经培训过来自100多家公司的超过2000多的工程师。Bill 是博客 GoingGo.net 的作者。
\\
InfoQ:大多数中国Go开发者都是从你的博客认识你,能简单的介绍一下你自己吗?
\\
\
William:我叫William Kennedy。我的朋友叫我Bill。自1991年以来,我一直从事软件开发工作。职业生涯的大部分时间是在微软平台上编写基于多线程的软件。2013年,Ardan Labs 面临一次困境,就是我们需要从 Windows 中获得所提供的开发服务。然而使用微软的许可成本很高,使得Ardan Labs比其他公司更贵。直到我发现了 Go。我需要一种编程语言,可以让我在 Linux 编写软件。
\
\\
InfoQ:你为什么如此喜欢Golang,最喜欢它的哪些特性?
\\
\
William:Go 语言是一个从头到尾都非常神奇的工程设计。我最喜欢的是语言之间的平衡,把机器抽象出来,却让你有能力理解代码对机器的影响。这是我所见过的一个工程项目简单性和可读性的终极指南。
\
\\
InfoQ:您接触过Golang官方团队吗,能否描述一下他们?
\\
\
William:很幸运,我遇到了很多Go语言团队的成员。他们是一群了不起的工程师和人。他们非常关心社区和 Go 。他们是非常务实的人,不会匆忙做出决定。我认为这对每个人都有很大的好处。你能感受到他们很容易接近。如果你在使用Go上遇到问题,不要犹豫,给他们发一封电子邮件,或者在Go-Nuts邮件列表上联系他们。他们会回应。
\
\\
InfoQ:我们知道Golang有Docker、Kubernetes等非常成功的项目,您知道它们为什么会选择Golang吗?
\\
\
William:这是个有趣的问题。我不是这些项目的开发者,所以我不能直接回答你为什么,只能猜测。我认为 Go 的最大优势之一是降低/消除了开发人员需要关注的低级技术工程问题。内存管理和调度并行工作负载可能是最大的两个。这允许开发人员在不损失软件性能的情况下更高效。这是关键。作为一个行业,我们把生产力作为我们应该优先考虑的事情。但成本一直都是直观的表现。我认为 Go 已经改变了这一点。
\
\\
InfoQ:您所了解的硅谷创业公司使用Golang的多吗?
\\
\
William:这是另一个棘手的问题。在旧金山有很多创业公司,我相信他们都在为他们的产品和服务选择正确的工具。我们必须记住,Go 只是一个工具,只是一个工具而已。Go 是解决相同于谷歌的问题一个很好的工具。网络、分布式计算、高容量的事务处理软件、cli工具等等,但是当我和全世界的人交谈时,似乎至少是我遇到的每个项目的一小部分。
\
\\
InfoQ:如何快速掌握一门编程语言?
\\
\
William:这对不同的人来说是不同的。有些人喜欢阅读,有些人喜欢看视频。对我来说,我觉得应该先学会读懂代码,甚至比你先开始学习写代码重要,我们是少数几个先教人写然后再教人读的行业。我们所说的编写更好的软件、代码审查、测试和理解成本的一切都围绕着我们阅读代码的能力。
\\
我想说,快速掌握一门语言并不重要,但要快速、高效地完成任务。快速的编写代码以确保正确性(完整性、可读性和简单性)。同样,这需要学习如何阅读代码,如何与人合作。
\
\\
InfoQ:对于Go语言新人你有什么学习建议吗?学习Go语言的最佳实践是什么,能否推荐一些书籍?
\\
\
William:带有私心的说,我认为我写的行动手册是一个不错的选择。这本书比较健谈,所以如果你想要一本更学术性的书,这本书就更好了。阅读两本书都能提供很大的平衡。
\\
另外也推荐我的博客 GoingGo.net,它是我在这本书之后花费时间很多的地方。我还有一个视频,我的训练课程资料 Ultimate Go 在 Safari 网上,我认为这也是一个很好的选择。大部分视频培训网站都有很好的素材。托德·麦克劳德非常棒,还有其他人。
\
\\
InfoQ:对于Golang培训课程的参与者,他们需要准备些什么吗?你想对他们说些什么?
\\
\
William:以开放的心态面对自己。要想成为一个高效的开发人员,我相信您需要离开面向对象的设计,转向面向数据的设计。这需要你以不同的方式思考工程。采用新技术很容易,但是要采用新的思维方式是很困难的。我认为这对 Go 很重要。
\
\\
InfoQ:您怎么看待Gopher China社区?
\\
\
William:很高兴能见到来自世界上最大的社区的 gopher。我得到了环游世界的祝福,并遇见了许多在美国以外的人,他们都像我一样充满激情。我遇到的每个人都很了不起,都在从事令人兴奋的项目。在中国和这个社区见面是很特别的。这是罕见的,我感到谦卑和荣幸有这样的机会。我很高兴能和人们交谈,了解他们的项目,他们的成功和关注。我希望有一天,在中国能有更多的机会成为全球大家庭的一员。我们相互学习,在中国的经验水平对每个人都是有益的。
\\
我知道我将会遇到令人惊叹的工程师和拥有丰富经验和知识的人。我想我会离开中国,学到比我在那里学到的更多的东西。这让我很兴奋。
\
\\
InfoQ:您认为Go语言的未来会怎样?
\\
\
William:我看到全世界对Go语言的培训的需求越来越大。我看不出这种趋势有减速的迹象。我的公司 Ardan Labs 正在寻找机会从事真正令人兴奋的项目。Go语言的未来无疑是充满前景的。
\
\\
第四届 Gopher China 大会4月将在上海举办,今年第一次增加了会前的Workshop 。本届大会从规模到内容将创历史新高,并继续赠送GoPher限量T恤。点此报名大会,输入优惠码【Geekbang】,八五折优惠!
专访William Kennedy:如何学习Go语言相关推荐
- 系统学习Go语言,有这几本书就够了!
最新个人博客 shankusu.me 以下内容转载自 https://tonybai.com/2020/11/04/the-recommend-books-list-for-learning-go/ ...
- 推荐几本学习Go语言的书
最近有一本<Go语言高级编程>的新书上架了,小编觉着有必要把之前的优秀Go语言书也带大家来回顾一下. 最新上架: Go语言高级编程 作者:柴树杉 曹春晖 一本能满足Gopher好奇心的Go ...
- 想系统学习GO语言(Golang),能推荐几本靠谱的书吗?
以下内容来自知乎: 链接:https://www.zhihu.com/question/30461290 学习任何一门语言,都要学习好基础,把基础打牢,那些框架对你来说都是工具,你自己的基础好,懂得了 ...
- 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?
众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...
- c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...
[摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...
- 参加前端培训主要学习什么语言
web前端近几年很多人都在学习中,但是想要学好web前端技术,基础是非常重要的,参加web前端培训机构可以进行系统的学习,下面就给大家详细的介绍一下参加前端培训主要学习什么语言? 参加前端培训主要学习 ...
- c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目
C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了.这个是我在大一学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游 ...
- 机器人c语言教程pdf,机器人卡雷尔学习C语言.pdf
机器人卡雷尔学习 C 语言 新疆农业大学计算机与信息工程学院 张太红.陈燕红编著,2013 年 9 月 斯坦福大学计算机科学系 埃里克·罗伯茨著 (Java版),2005年9月 目 录 第一章 机器人 ...
- 独家 | 手把手教你学习R语言(附资源链接)
作者:NSS 翻译:杨金鸿 术语校对:韩海畴 全文校对:林亦霖 本文约3000字,建议阅读7分钟. 本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者 ...
最新文章
- java-并发-并发容器(3)
- git把本地代码上传(更新)到github上
- 内存对齐分配策略(含位域模式)
- 问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新
- python课程结课感悟_科学网—《互联网+引论与Python》课堂感想(七) - 张忆文的博文...
- CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码...
- php curl get post请求
- Java的Jsoup爬虫
- 清除计算机策略,怎么删除组策略
- 1.U3D和U3D安装介绍
- 中国碳酸钾市场趋势报告、技术动态创新及市场预测
- TaoFramework
- alisoft 开放旺旺SDK,我也来凑合一下
- QQ小游戏接入问题:Uncaught TypeError: wx.saveFile is not a function
- 2021-08-23-Nginx安装与部署项目
- C# TCP/UDP网络通讯调试助手(含源码)
- MindManager2021 Win/Mac v2020.19.思维导图软件安装下载激活教程
- ES关键字排序报错 reason=Fielddata is disabled on text fields by default. Set fielddata=true on 关键字 in order
- MySQL 一条语句实现若记录存在则更新,不存在则插入
- vue中Echarts之省市地图(北京市)展示相关数据