0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

蛰伏5年,Go 2.0终于要来了!

DPVg_AI_era 来源:lq 2018-12-03 09:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今年八月,Go团队发布Go 2.0的设计草案,征集意见。今天,提案收集完毕,团队负责人Robert Griesemer发布公开信,表示进入最重要阶段——确定更改提案阶段,并公布了提案评估流程。

蛰伏5年,Go 2.0终于要来了!

早在今年8月份,Go团队便提出了2.0版本的设计草案,包括两大主题:错误处理和泛型。而今天,团队开发人员发话了:“是时候采取行动了!”

Go 1和Go 2主要的区别在于决策的制定——Go 1的诞生是一个小团队的努力,而Go 2将更受其社区的影响。

目前在Go 2的提案中,大约有120个未解决的问题被标记为Go 2的提案,每一个问题都与重要的库或语言更改相关,而这些问题通常不能满足当前Go 1的兼容性。开发人员将这些提案分类为Go2Cleanup、NeedsDecision等,以便后续的执行操作。

在Go语言的生态中,拥有数以万计的程序员和代码,因此,所有的决策和改变必须谨慎,以免对稳定的生态造成破裂。因此,Go团队认为,需要实施新的提案评估流程。

提案评估流程

提案评估流程的目的是收集对少数选定提案的反馈意见,以便作出最终决定。该过程或多或少与发布周期并行进行,包括以下步骤:

1、提案选择。Go团队选择了少量似乎值得考虑接受、但有做出最终决定的Go 2提案。

2、提案反馈。 Go团队发出一份罗列选中提案的公告。 该公告向社群解释了推进所选提案的初步意图,并收集了每个提案的反馈意见。 这使社区可以有机会提出建议、表达想法。

3、实施。 根据这些反馈,提案得以实施。 这些重要的语言和库更改的目标是在即将到来的发布周期的第一天提交它们。

4、实施反馈。 在开发周期中,Go团队和社区有机会尝试新功能并收集进一步的反馈。

5、启动决策。在三个月的开发周期结束时,根据在发布周期中收集的经验和反馈,Go团队最终会决定是否发布每个更改。一旦发布,这些被发布的提案就成为语言和库的一部分。未被发布的提案可能会重新起草,也可能会被永久拒绝。

通过两轮的反馈过程,可以起到一个筛选的作用,防止“功能蔓延”,有助于保持语言的简洁性。

提案选择标准

一项提案至少满足以下条件:

1、解决大多数用户都觉得重要的问题;

2、不会对其他用户产生造成太大的影响;

3、提供一个清晰易懂的方案。

条件1确保了团队所做的任何更改都能帮助尽可能多的Go开发人员(使他们的代码更鲁棒,更容易编写等等)。条件2确保了团队的更改对少部分用户所带来的不便降到最低。

若是不满足条件3,提案将不会被实施。即便提案能够解决一个通用性的问题,思路很好,在没有实施方案的情况下,也会被拒绝,该提案需要重新起草。

提案

团队认为此次推出的更新很好,应该能够高效地为用户服务,但更重要的是,这只是一个起点。在使用过程中,仍发现有时无法正常工作情况,团队将根据需要进行进一步优化。但关键是,在实际使用之前,并不知道如何改进。

一种保险的做法是使用少量向后兼容的语言。团队已经有很长一段时间没有进行语言上的修改。此外,做出这些变化无需担心破坏现有代码,因此可以作为一种完美的试验方式。

尽管如此,团队为Go 1.13版本下(此为提案评估过程中的第1步)选择Go 2用户提出以下意见:

1.#20706 基于Unicode TR31的通用Unicode标识符:解决了使用非西文字母表的Go程序员的一个重要问题,并且对其他人都应该没什么影响。我们需要解决归一化问题,社区中反馈意见也很重要,但在此之后,实施路径获得了充分理解。请注意,标识符导出规则不会受到此变动的影响。

2.#19308,#28493二进制整形文字和对数字文字的支持:这些变化相对较小,在许多程序员中似乎非常受欢迎。这些问题可能还没有达到“重要问题”的程度(到目前为止,16进制数字运行良好)但是这一改动使得Go与大多数其他编程语言实现统一,并且解决了一些程序员的痛点。如果你并不在意Go对二进制整型文字或数字格式的支持,那这一点对你影响很小,且程序实现也很容易理解。

3.#19113允许将有符号整数作为移位计数:我们估计,所有非常数移位中有38%需要(人工)进行uint转换。这个提议将让不少代码变得更简洁,使得表达式可以更好地与索引表达式和内建函数cap和len同步。这一改动将主要对代码产生积极影响。其实现也很好理解。

下一步

现在是Go社区提供有关上述问题反馈的时候了。

对于团队已经明确并批准的每个反馈建议,我们将继续推进实施(即进入流程中的第3步)。因为希望在下一个发布周期的第一天(暂定于2019年2月1日)实施这些修订,所以这次可能会在稍早的时间开始推进,以留出两个月的意见反馈时间(自2018年12月至2019年1月)。

在为期3个月的开发周期(2019年2月至5月)中,被选中的功能已经陆续部署,每个人都有机会收集新功能的使用体验。这会为建议反馈提供另一个机会(评估流程中的第4步)。

最后,在很短的冻结期之后(2019年5月1日),Go开发团队会做出最终决定,是永久保留新功能(并保证这些功能与Go 1的兼容性),还是放弃这些功能(评估流程的最后一步)。

(因为在冻结期内很可能需要删除某个功能,所以新的实现必须做到禁用新功能后,也不会破坏系统其他部分的稳定性。对于语言的更改而言,这可能意味着所有与功能相关的代码都以“内部标记”加以保护。)

这将是Go团队第一次实施这一流程,因此冻结期也将是反思这一流程,并在必要时进行调整的好时机。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    809

    浏览量

    42799
  • go语言
    +关注

    关注

    1

    文章

    159

    浏览量

    9630

原文标题:等待5年,Go 2.0终于要来了!

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    6射频芯片创业,终于实现盈利

    价值,带动一个产业的发展,这就是善;到了一个大企业,你才有责任去树立社会榜样,去做善事。 6的努力,射频芯片创业终于实现盈利。就在这个10月, 三伍微电子 在销售业绩和利润上都创新高,但我们知道,这才是刚刚开始。
    的头像 发表于 10-29 17:26 444次阅读
    6<b class='flag-5'>年</b>射频芯片创业,<b class='flag-5'>终于</b>实现盈利

    中微半导产品选型手册2025V2.0

    的升级与创新。 2025V2.0版中文电子版产品选型手册已正式上线,您可访问中微半导官网www.MCU.com.cn【支持】——【下载中心】——【选型手册】栏目,或者点击下方二维码在线阅读或下载手册
    发表于 09-04 13:35

    智多晶SerDes 2.0 IP介绍

    为了满足用户对SerDes日益增涨和多样化的要求。智多晶SerDes IP推出了2.0版本的升级,本次升级相比1.0版本主要带来了以下的变化。
    的头像 发表于 08-16 15:32 996次阅读
    智多晶SerDes <b class='flag-5'>2.0</b> IP介绍

    东软连续五蝉联医保信息化市场份额榜首

    在国际数据公司(IDC)权威发布的《中国医疗保障信息系统市场份额,2024:蛰伏蓄势期》(IDC#CHC53612125,20257月)报告中,东软持续领跑,这已是东软连续五蝉联医保信息化市场份额榜首。
    的头像 发表于 07-31 16:15 851次阅读

    养老机器人要来了?两部门宣布开展试点

    电子发烧友网报道(文/梁浩斌)养老机器人真的要来了?最近,工信部、民政部发布开展智能养老服务机器人结对攻关与场景应用试点工作的通知,试点期为2025—2027。   试点的具体内容包括:   1.
    的头像 发表于 06-16 09:08 4768次阅读

    300 kHz 至 2.0 GHz 5 位数字衰减器,带串转并行驱动器 skyworksinc

    电子发烧友网为你提供()300 kHz 至 2.0 GHz 5 位数字衰减器,带串转并行驱动器相关产品参数、数据手册,更有300 kHz 至 2.0 GHz 5 位数字衰减器,带串转并
    发表于 05-26 18:30
    300 kHz 至 <b class='flag-5'>2.0</b> GHz <b class='flag-5'>5</b> 位数字衰减器,带串转并行驱动器 skyworksinc

    从 Java 到 Go:面向对象的巨人与云原生的轻骑兵

    Go 语言在 2009 被 Google 推出,在创建之初便明确提出了“少即是多(Less is more)”的设计原则,强调“以工程效率为核心,用极简规则解决复杂问题”。它与 Java 语言生态
    的头像 发表于 04-25 11:13 511次阅读

    推荐一款USB2.0 MTT 2.0HUB SL6243

    推荐一款USB2.0 MTT 2.0HUBSL6243 SL6243目前封装形式有5种,有些型号兼容市面上一些主流封装。 以SL6243Q为例: SL6243Q 是一颗高集成度,高性能,低功耗
    发表于 03-31 14:29

    苹果折叠屏iPhone终于要来了,价格比笔记本电脑还贵

    折叠屏 iPhone 预计将于 2026 推出,但可能会限量发售。
    的头像 发表于 03-24 10:09 761次阅读

    隆基HPBC 2.0产线全面投产

    近日,隆基在嘉兴基地举办了“HPBC 2.0媒体‘灯塔工厂’行”活动,这也是“灯塔工厂”自20245月首次对外开放之后,HPBC 2.0产线的首次对外开放。本次活动邀请到近20家媒体
    的头像 发表于 02-27 10:22 1099次阅读

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
    的头像 发表于 01-22 17:23 889次阅读
    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

    国产视频大模型Vidu 2.0震撼发布

    近日,备受瞩目的国产视频大模型Vidu迎来了2.0版本的正式发布。相较于之前的版本,Vidu 2.0在生成速度上实现了显著提升,从原先的30秒缩短至如今的10秒,整体速度提升了三倍之多。 这一显著
    的头像 发表于 01-16 11:13 2228次阅读

    人形机器人将迎量产元年,人机共生时代要来了

    ,场面是相当的震撼。同时,2024和2025交汇之际,人形机器人的量产元年也要悄悄到来了。   在港科大演讲时,英伟达CEO黄仁勋也提到,“在重工业和制造业中,由于物理人工智能的全新突破,机器人技术的投资正在迅速增加。我们见
    的头像 发表于 12-21 00:13 4341次阅读
    人形机器人将迎量产元年,人机共生时代<b class='flag-5'>要来了</b>?

    RoHS2.0解析

    RoHS2.0的实施与扩展自20197月22日起,欧盟对电子电器产品实施了更为严格的环保要求。这一规定要求所有进入欧洲市场的电子电器产品(不包括医疗和监控设备)必须遵守RoHS2.0指令,限制特定
    的头像 发表于 12-19 12:38 2591次阅读
    RoHS<b class='flag-5'>2.0</b>解析

    影目科技发布全球首款同传翻译眼镜INMO GO2

    近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。
    的头像 发表于 12-11 10:00 1956次阅读