Go团队成员Ian Lance Taylor离开谷歌
Leaving Google

原始链接: https://www.airs.com/blog/archives/670

在 Google 工作了 19 年,其中近 15 年都在 Go 编程语言团队,我决定离开了。我于 2008 年加入,与 Russ Cox 共同工作,期间我为 Go 做出了许多贡献,包括构建 GCC 前端,为 Google 的构建系统和 SWIG 添加 Go 支持,甚至担任团队经理。我的一个重点工作是通过比较编译器的行为并解决用户的迫切需求来澄清语言规范。这最终导致 Go 1.18 中泛型的实现,这是一个自 Go 早期就一直被请求的功能。 虽然我相信我的方法帮助了 Go 的成功,但项目和 Google 本身都在发展变化,这让我觉得不太适合这个团队了。尽管离开了 Google,我对 Go 仍然充满热情。我相信 Go,像所有语言一样,需要不断适应才能生存下去。我希望将来能够再次为 Go 做出贡献。

谷歌Go编程语言核心开发者Ian Lance Taylor已离开谷歌。他的离职声明暗示了谷歌内部以及Go项目本身的重大变化,导致他的贡献与公司目标不再一致。 Hacker News上的讨论反映了人们对谷歌发展轨迹的担忧,一些评论者认为谷歌的工程人才流失,官僚主义日益盛行。这与人们认为谷歌在创新和自主性方面举步维艰的看法相呼应。讨论还涉及Go语言的现状和应用场景,一位用户质疑Russ Cox的离职是否与此有关。

原文

I’ve left Google after working there for 19 years.

For most of that time I’ve been fortunate in being able to work on the Go programming language. Go was started by Rob Pike, Ken Thompson, and Robert Griesemer in the fall of 2007. I joined the team in June, 2008, about the same time as Russ Cox. I’ve been very lucky to be able to work with such remarkable people on such an interesting project.

I am astonished at how much use Go has gotten over the years. Go has reached the status of being just another programming language, one that any programmer can choose when appropriate. That is far beyond what any of us expected in the early days, when our best hope was that Go might serve as an example for useful ideas that other languages and programming environments could adopt.

I started on Go by adding a Go frontend to the GCC compiler. The Go project already had a compiler, of course, based on the Inferno C compiler. Having two compilers helped ensure that the language was clearly defined. When the two compilers differed, we knew that we had to clarify the spec and figure out what the right behavior should be.

In general my self-appointed role on the Go team consisted of tracking everything I could about the project and looking for areas that needed help. Among other things in the earlier years I added Go support to Google’s internal build system, and to the SWIG tool. For a couple of years I was the team manager. From the first days of Go people asked for support for some sort of generics or type parameterization; working with Robert Griesemer I developed a series of language change proposals, and generics were added to the language in the Go 1.18 release in 2022.

My approach had its good points and its bad points. I was quick to see the problems that people were running into today, and the problems they would run into tomorrow, and I was often able to get those problems addressed. But I was slow to see the ideas that would help people do new things that they weren’t trying to do and thus weren’t missing, things such as the Go module proxy and the Go vulnerability database.

Overall I think my approach was a good one in helping to build a successful project. But Gooogle has changed, and Go has changed, and the overall computer programming environment has changed. It’s become clear over the last year or so that I am no longer a good fit for the Go project at Google. I have to move on.

I’m still interested in Go. I don’t think that the language is done. I don’t think that any programming language is ever done–the programming environment changes all the time, and languages must evolve or die. That is doubly true for a language like Go that comes equipped with a substantial standard library, one that must adapt to the new needs of programmers.

I will be taking a break for a while, but I hope to be able to contribute to Go again in the future.

联系我们 contact @ memedata.com