Golang批准泛型,而Python接受模式匹配提案

2021-02-17 18:47:13

终于,终于让大家高兴的是Gophers,关于Go编程语言是否会采用泛型的问题,经过多年的辩论,终于在本周接受了上个月提出的建议,从而回答了这一问题。

Golang小组成员Ian Lance Taylor在此最新建议中写道,自2009年首次发布泛型以来,泛型一直是“最常用的语言功能之一”,但即便如此,它的采用也并非毫无疑问。泰勒在其提案的简介中解释了泛型的概念:

“泛型可以为我们提供强大的构建块,使我们可以共享代码并更轻松地构建程序。泛型编程意味着编写函数和数据结构,其中某些类型留待以后指定。例如,您可以编写一个对某些任意数据类型的切片进行操作的函数,其中仅在调用该函数时指定实际数据类型。或者,您可以定义一个存储任何类型的值的数据结构,其中在创建数据结构的实例时指定要存储的实际类型。”

正是这种价值主张-能够编写可重用的代码-激发了一些开发人员,并一直在推动这种发展。

在Golang中添加泛型可以解决令我烦恼的主要问题之一!我已经编写了很多Go代码,而这些代码可以消除的重复代码/样板代码数量将使其使用起来更加有趣。

尽管我们不需要重新讨论反对采用泛型的各种论点,但既然提案最终已通过提案流程完成,但新的担忧已在多个用户中发声:当拿到锤子时,一切看起来就像一个锤子。指甲。

这恰当地总结了我对Go泛型的看法,因为我们准备被泛泛的“仅仅因为您不能代表您应该这样做”泛型代码所困扰。

在烘焙代码饼时,泛型应该是盐而不是糖,但是我担心那些会混在一起.🧂💥😵https://t.co/cQv3YQeqAM

但是,这并不是第一次,新的语言功能面临这种恐惧。当通道被引入该语言时,它们也很快成为使一切变成钉子的功能。随着时间的流逝,这种担忧逐渐消失,现在人们希望,随着仿制药的采用,这种情况也将过去。

是的,我在审查期间向Go维护人员提出了这个问题,他们的回应(我同意)是:您可以使用渠道编写非常糟糕的代码,但是社区在解决这一问题方面做得很好。泛型希望是一样的。

只有时间能证明一切,并且到目前为止,您所有的Gophers仍然可以等待一些时间来使用您期待已久的功能。至少根据最初的建议,目标“将是在年底之前完成一个完整的实施,尽管可能尚未完全优化,以供人们尝试,或者作为Go 1.18 beta的一部分。”

现在,在继续介绍过去一周编程工作的世界之前,这里有一段视频,探讨了编程的潜在范式转换,以及未来几年云原生技术的出现。

模式匹配步骤对Python来说太远了吗?泛型并不是本周唯一有争议的编程语言,Python指导委员会决定接受一些统称为模式匹配PEP的Python增强建议(PEP)。该委员会写道:“我们承认模式匹配是对Python的广泛更改,并且在整个社区中达成共识几乎是不可能的,”该委员会写道,尽管如此,他们“对PEP 634等人指定的模式匹配充满信心。 ,将是Python语言的绝佳补充。”一个反对者发现他们进入了iProgrammer的页面,其标题是“ Python采用模式匹配-下一个厨房水槽”。尽管他们“不认为将模式匹配添加到Python中是一件坏事”,但他们将其添加视为对功能膨胀的更大描述的一部分。他们写道:“这似乎是不必要的,只有很小的优势。” “但是,它确实符合一种语言的生命周期:首先,它体积小,紧凑,可爱。然后它添加了许多程序员所缺少的部分;然后添加其余部分,包括厨房水槽,定居到to肿的老年,等待一种新的紧凑而简单的语言来替代它。”

Google增强了对Python的支持:在其他Python新闻中,Google提供了对Python生态系统支持的更新,并指出该语言对Google Cloud及其客户均“至关重要”,并作为Google App Engine和云功能,以及其他内部用途。目前,该公司表示将通过“捐赠超过35万美元以支持三个特定的PSF项目,重点是改善Python生态系统的供应链安全性”来增加对Python软件基金会的支持,其中包括生产的恶意软件检测Python软件包索引,改进基础Python工具和服务以及2021年CPython驻地开发人员,他们将全职工作以帮助CPython项目确定维护的优先级并解决积压的问题。谷歌还表示,将继续向基金会捐赠Google Cloud基础设施,并将Google Cloud Public Datasets计划作为PyPI下载统计数据和PyPI项目元数据的新公共数据集的新宿主。

Rust Foundation诞生了:在本周的其他一些大型编程语言新闻中,Rust Foundation于本周初正式启动,亚马逊网络服务,华为,谷歌,微软和Mozilla承诺两年“每年超过一百万美元”预算以开发服务,程序和事件,以支持Rust项目维护者构建最佳的Rust。”正如我们之前所详述的那样,Rust团队发现自己有点生气,去年,最初是开源语言背后的公司Mozilla裁减了250名员工,其中许多是Rust贡献者。六个月后的今天,基础已经成为现实,Rust的未来似乎将得到保证。正如之前在有关该基金会的常见问题解答中所解释的那样,Rust基金会的工作重点将更多地放在处理法律问题,外展,托管基础架构以及总体上支持社区方面,而不是指导语言本身的未来。为此,Mozilla已经将包括crates.io软件包注册处在内的所有商标和基础设施资产移交给了基金会,并且新成立了一个董事会,其中包括来自五个创始成员公司的五名董事会成员和来自Rust项目领导层的五名董事。

Google开启了2021年的“文档季节”:最后,如果您碰巧是一个开源软件项目的一部分,并且需要帮助编写文档,Google宣布它现在正在接受组织的“ 2021年的文档季节”的申请。为此创建的程序。去年,该项目有64个成功的标准长度技术写作项目,而前一年有44个文档项目。今年的努力“将继续支持开放源代码中的更好文档,并为熟练的技术撰稿人提供获得开放源代码经验的机会”,并且组织的申请现已开放至3月26日UTC 18:00。对于有兴趣参与的技术作家,有可用的指南,有关该计划的任何问题都可以发送至[email protected]

我很高兴Go终于获得了仿制药,因为我的保险不涵盖名牌Go。 https://t.co/0NKnI9naJF