17611538698
webmaster@21cto.com

GCC 15 编译器即将完成:COBOL 和 Itanium 入局,ALGOL 出局

图片

导读:GNU 编译器集合第 15 版即将发布,在此期间,一些更改将被锁定。

GCC(GNU 编译器系列)15 正在按计划更新,并为 Cobol 提供新的前端。此次升级还将为 C 和 C++ 的开发带来大规模改进。

最新的状态报告并没有提供太多信息,但表示“仅对回归和文档修复开放”。报告显示,只剩下 17 个优先级为 1 的错误。

GCC 发布经理 Richard Biener 表示, GCC 15预计将于 4 月底或 5 月初发布。他表示,实际发布日期将取决于所有优先回归到 GCC 14 的问题是否得到修复。GCC 15 目前处于回归修复阶段,即第 4 阶段。

有了 GCC 15,C 编译器将默认使用 C23 而不是 C17,C++ 编译器和标准库将开始获得C++ 23和C++ 26功能。Biener 指出,随着编译器和工具的改进,C++ 20 模块开始变得可用。

“GCC 15 看起来是一个非常好的版本,尤其是对于 C++ 开发而言,”他说。

Biener 表示,RISC-V 架构支持继续快速发展,特别是在矢量化和架构支持方面。

GCC 15 还引入了 Cobol 语言前端。

“据我所知,Cobol 是一种有趣的语言,对编译器中端来说具有独特的挑战,”Biener 说。“目前仍有大量依赖 Cobol 的旧版软件在生产环境中,因此,有另一种免费编译器选择是一件好事。”

但是,Algol 68 的前端提案未能通过指导委员会的审核。

Beiner 表示:“与 Cobol 相比,我认为 Algol 68 的实际或商业意义不大,但我希望将来能加入前端,因为 Algol 68 具有历史意义。”他预计 Algol 68 最终将与 GCC 16 一起推出。

上周已经合并了一个主要新功能:COBOL 前端。这已经准备了很长时间了——我们三年前就研究过它了。上周四合并了三个大型补丁:COBOL 前端、libcobol标准库和随附文档。

我们承认没有统计过,但根据 Phoronix 的说法,这是一个惊人的 134,000 行代码。新的编译器称为gCobol,它是一个真正的本机编译器:换句话说,它采用 COBOL 源代码并释出二进制可执行文件。

请注意,我们不应将其与另一个 GNU 项目(更古老的GNUCobol )混淆。GNUCobol(以前称为 OpenCOBOL)现已有近 25 年的历史,但它不是真正的编译器:它将 COBOL 源代码转换为 C 源代码,然后使用 GCC 或 Microsoft Visual Studio C 进行编译。

除了生成代码的方式不同之外,两者还旨在遵守不同版本的官方 COBOL 行业标准。GNUCobol 与COBOL 2014的兼容性超过 99% ,COBOL 2014 是一份长达 955 页的文档,以 CD 形式提供。较新的 gCobol 旨在遵守较新的COBOL 2023标准,该标准比后者长近三分之一,达到 1,229 页。gCobol 和 GnuCOBOL 均由独立Cobolworx咨询公司提供技术支持。

因此当 GCC 15 发布时,COBOL 将加入受支持的语言列表——C、C++ 和 Objective-C 是内置的,而Ada 95、Fortran 77 和 Pascal 则单独分发。

此次,ALGOL-68暂不会加入该编译器列表。

指导委员会已经决定暂时不将 Algol 68 前端合并到 master 中,但同意我们使用 gcc.git 中的分支来开发和维护前端以及 algol68@gcc.gnu.org 中的邮件列表。源软件朋友已经设置了邮件列表。

开发仍在其独立分支中继续进行,代码托管于 Sourceware,更多的信息仍在GNU 站点上。

当然,这两位资深高级语言俱乐部的元老之间存在一个非技术性的巨大差异。COBOL 仍在广泛使用,尽管很多公司非常想摆脱它。另一方面,ALGOL 却没有这样的情况,经典的 ALGOL-60曾经被广泛使用,它影响了当今世界上几乎所有命令式编程语言,从Ada到Zonnon。

编辑:场长

评论