Rust基金会正式启动了强化C++互通计划,目的在于加强两种系统语言之间的互通性,以支持双语言的应用程序开发。该计划希望通过技术改进和社交媒体协作,让开发人员在同一项目中,更自由地选择使用Rust或C++,并减少因为操作限制所产生的开发负担。

C++是发展历史长久的系统语言,其足够成熟且具有良好的资源管理能力,长期被应用于嵌入式系统和高性能计算等用例。而Rust则因其内存安全,以及对并行运算支持等特性为人所知,成为实例高性能且减少未定义行为的选择。

但是随着产业对安全性和性能的共同要求,混合两者使用成为系统稳定性和开发效率的重要策略之一,但是因为当前C++与Rust的互通性技术还不够成熟,无法使两者良好集成。Rust基金会认为,互通性瓶颈使得现有C++系统无法顺利集成Rust,同时也限制Rust程序代码在C++既有框架中的灵活应用。为此,Rust基金会运用各组织捐献的资源,启动C++互通计划,希望在短期内改善现有工具,并在长期发展上深化语言层面的支持,同时促进双方社交媒体的合作。

短期计划将针对目前市场上被广泛使用的互通工具进行强化,包括cxx、bindgen与cbindgen,这三个项目将成为短期计划的核心。bindgen功能是让Rust直接调用C函数,cbindgen工具则反过来让C程序可以调用Rust函数,而cxx则是目前C++和Rust互通的主力工具。

Rust基金会表示,虽然这些工具一定程度上解决了互通性问题,但是却没办法处理更高端的需求,像是C++中复杂的类型系统和特殊功能。C++互通计划短期目标要解决这些工具的性能和安全性,降低开发者在Rust与C++间调用函数和传递数据的困难度。Rust基金会将动员组织人力和资源,优先解决一些因为缺乏负责人或是合作,而导致长期停滞的技术问题。

长期策略方面,计划会从根本提升两个语言的操作基础,这涉及到语言设计、编译器的支持,以及标准函数库的变更。Rust基金会正在与C++标准委员会创建更紧密的合作关系,针对更高层次的问题进行讨论,以找到双方皆认可的解决方案。

这些问题例如是否能够创建更丰富的界面层,以支持两个语言间的类型转换和资源管理,降低数据丢失的风险。由于这类的基础设施议题需要广泛的专业知识和支持,基金会将招集社交媒体和项目团队的主要成员共同参与,以加速推动发展过程。

Rust基金会强调C++互通计划社交媒体合作的重要性。当初Rust被设计为C++的替代选项,但是现在基金会认为,两个语言的角色应该是互补而非竞争。通过在标准委员会层级的交流与合作,可使开发者同时受益于Rust的安全性和C++的性能。