QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Google 关于 Go 2 的讨论

  • 2017-07-19
  • 本文字数:1034 字

    阅读完需:约 3 分钟

在本周召开的 GopherCon 2017 上,Google Go 的技术负责人 Russ Cox 做了关于 Go 的未来的主旨演讲,请社区就该语言的下一个主要版本应该包含哪些内容提出建议。

Google 在十年前开始发展 Go 语言,在 5 年前提供了第一个稳定版本 1.0。目前的稳定版本是1.8.3,Google 正在向社区开放,听取下一个主要版本2.0 应该包括哪些内容。

最近的一项研究评估,Go 语言的开发者数量约为50 万。如果就编程语言向所有这些开发人员询问他们想要什么,那么很可能得到一个很长的期望功能列表。但Google 非常关心维护与现有Go 代码库的兼容性,该代码库大致近似于1B LoC。虽然这表明该语言的成功,但是按照Cox 的说法,它也是“Go 2 的主要制约因素”。

Go 1承诺兼容性,让开发人员放心,只要 Go 1 规范还存在,他们的程序将可以继续编译并正确运行。现在,要设计的 Go 2 规范,存在破坏与 1.x 兼容的可能性。Cox 认为需要谨慎选择新特性。

Go 2 必须带动所有开发者 [包括使用 Go 1.x 的开发者]。只有回报足够丰富,我们才能要求他们放弃旧有习惯,来学习 Go 2 的新特性。

Go 2 还必须兼顾所有现有的 Go 1 源代码。 我们不能分裂 Go 生态系统。在混合型的项目中,用 Go 2 写的包中导入了用 Go 1 写的包,或者相反的情况,这种情况必须要在多年的过渡期中正常运行。我们必须弄清楚如何做到这一点,自动化工具像 go fix 一定会发挥作用。

为了避免引起混乱,Google 将新功能的数量限制为“两到三个,一定不超过五个”,“每一个变化都需要仔细的思考,规划和工具化”。 这些功能不包括“标识符支持使用更多的现实语言来定义或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox 谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。”

从 Google 的角度来看,Go 2 的主要目标是“解决 Go 在可扩展性方面的不足”。Cox 提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。

主题演讲的大部分内容是介绍和解释用于修改 Go 的五个步骤:

有关此过程的更多详细信息,我们建议您阅读博客文章 Toward Go 2 。有兴趣为 Go 2 推荐新功能的用户请参考 GitHub 上的关于该语言的 Wiki

查看英文原文 Google Discusses Go 2


感谢张卫滨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-07-19 19:004730

评论

发布
暂无评论
发现更多内容

正式发布!中国信通院联合腾讯安全等起草单位,共同发布研发运营安全工具系列标准

腾讯安全云鼎实验室

云计算 中国信通院 安全工具系列标准

本夕生活小程序定制开发

ALVIS

跑跑回收系统小程序开发

ALVIS

LeetCode题解:61. 旋转链表,双指针,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

企业管云就用行云管家!省时省力省心!

行云管家

云计算 企业上云 行云管家 企业管云

ISC网络安全大会关于“新型网络犯罪打击与治理”的分析

郑州埃文科技

网络安全 isc

家政公司管理系统开发介绍

ALVIS

医院预约管理系统开发

ALVIS

绿色篮子系统开发是什么模式?

ALVIS

主流分布式文件系统选型,写得太好了!

编程菌

Java 编程 程序员 计算机 技术宅

女巫面具系统模式开发

ALVIS

好慷在家系统开发前景

ALVIS

新工具上线!sdkmgr命令行助力流水线构建

科技汇

微服务架构设计模式-进程间通信

以吻封笺

微服务 设计模式

来吧!一文写清前端面试难点及考点

前端依依

面试 大前端 经验总结

行云管家荣获CFS第十届财经峰会2021科技创新引领奖!

行云管家

行云管家 财经峰会

互联网大厂一手资料,25大专题,500多页,背废你就能吊打面试官

Java架构师迁哥

咔嗒回收系统小程序开发

ALVIS

绿地回收系统开发|现成小程序

ALVIS

爱奇艺搜索排序算法实践(内附福利)

爱奇艺技术产品团队

排序算法 nlp 搜索

下一个颠覆的领域:区块链如何影响审计行业?(中)

CECBC

Erda 1.1 版本发布|3 大亮点特性最新解读

尔达Erda

开源 云原生 k8s PaaS SaaS

CloudQuery v1.4.1 发布 | 开放「组织架构」模块 API

BinTools图尔兹

数据库 数据安全 OpenAPI 数据库管控

IDEA http client无法解析enviroment file

crazylle

IDEA http client Alibaba Cloud Toolkit

阿里云视频云发布实时高清VVC编码器Ali266,真正开启VVC商用之路

阿里云CloudImagine

阿里云 视频编码 视频处理 编码器 视频云

绿森林回收系统小程序开发

ALVIS

ElasticJob 3.0.0:打造面向互联网生态和海量任务的分布式调度解决方案

SphereEx

数据库 开源

完备的娱乐行业知识图谱库如何建成?爱奇艺知识图谱落地实践

爱奇艺技术产品团队

nlp 搜索 知识图谱

SpringBoot自动配置原理解析

程序员阿杜

spring Boot Starter

万能小哥系统开发是什么?

ALVIS

RocketMQ事物消息调研

crazylle

RocketMQ 事物消息

Google关于Go 2的讨论_开源_Abel Avram_InfoQ精选文章