专访Go语言之父:如何看待Go的发展及未来
极客时间编辑部
讲述:丁婵大小:5.86M时长:04:16
你好,欢迎收听极客视点。
罗伯·派克(Rob Pike)是 Go 语言核心作者之一。此前,Evrone 对派克做了一次专访,话题涉及派克四十年的职业生涯、Go 语言过去十年的发展及其未来。InfoQ 对采访内容进行了翻译,以下是重点内容。
派克认为,在他几十年的职业生涯中,软件开发的规模越来越大了,不仅仅是计算机和网络,还有程序本身。所有的 Unix V6(大约发布于 1975 年)都可以轻而易举地装在一个 RK05 磁盘(只有差不多 2MB 的存储空间)中,还留出了大量的用户空间。这是一个很好的计算环境,至少在当时看起来是这样的。
而观察 Go 语言的发展史,它在技术和政治方面分别取得了不错的成绩。
从技术方面说,Go 语言支持并发计算。Go 语言只有十年左右的历史,但在它诞生之初,“线程”和并发并没有在编程社区得到广泛的重视。事实上,开发 Go 语言的一个主要原因是当时在 C++ 中执行并发计算比较困难。在项目启动后不久,对并发性的支持成了一个明显的优势,弥补了其他方面的不足。人们看到并发性的优势之后,就开始探索语言的其他方面,然后进一步了解到更多的东西。所以,对并发的支持是一道很重要的关口,Go 语言改变了多核计算编程。
从政治方面说,Go 的作者们兑现了对 Go 1.0 兼容性的承诺。在使用了几年 Go 语言之后,需要修复的东西越来越多,而且都是重大的变更。于是,一个更新程序出现了,用“go fix”命令来推动社区。这个程序从 2012 年编写到如今仍然可以完美地编译和运行,证明了它的稳定性,也是 Go 语言发展的一股巨大推动力。其他公司可以非常自信地使用 Go 语言,相信 Go 不会对他们的程序造成破坏。在 1.0 和兼容性承诺兑现之后,使用率得到显著的提高。
谈到 Go 语言及其生态系统在未来 10 年的发展,派克坦言,尽管还不是很确定,但在经过十多年的发展之后,参数多态设计,也就是通常认为的泛型,将在未来一两年出现。为已有的语言找到一种合适的设计是个大难题,不过 Go 语言另一位核心作者伊恩·兰斯·泰勒(Ian Lance Taylor)在这个问题上投入了惊人的精力,现在看来答案已经触手可及了。
这将给库、生态系统和社区带来怎样的影响?大家可以拭目以待。
此外,因为有了 LSP 这样的技术,“文本编辑器”和 IDE 之间的界限现在变得越来越模糊了。当被问到软件开发人员是否需要像 GoLand 那样的全功能 IDE ,或者使用 VS Code 就可以了?派克表示,在 Go 语言项目的早期,他们讨论过 Go 语言是否需要借助 IDE 才能获得成功。但当时团队中没有人具备开发 IDE 的技能,所以他们没有尝试去开发一个 IDE。不过,他们确实开发了可用来解析和打印 Go 语言代码的库,并很快成为各种编辑器和 IDE 插件的基础,这是一个意外的成功。
最近,他们一直在努力开发一个叫作 Gopls 的 Go LSP 服务器,任何支持该协议的编辑器或 IDE 都可以用它来改善 Go 语言编程体验。
或许是因为老一代编程人员习惯使用简单的编辑器样式,所以他们确信 Go 语言开发人员在编程环境方面也不需要做很多繁重的工作。不过,IDE 确实可以提供一些帮助,大多数 Go 语言开发人员都使用了 IDE,或者至少是支持 Go 语言的编辑器,并从中获得了很多好处。
不过,使用什么样的编辑器是一个个人偏好问题,取决于你使用的编程语言。
以上就是罗伯·派克的访谈重点内容,你也可以点击原文链接了解完整采访内容。
英文原文:Rob Pike Interview
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论