C++“中年危机”有救了!C++之父新动作!( 二 )


Stroustrup简要说明了一点:“小心”是行不通的 。因此,虽然核心指导方针可能建议安全的编码实践,但“我们需要强制执行的规则” 。
“我们必须制定安全使用的规则 。我们必须提供方法来验证人们是否真的在做他们想做的事情 。”Stroustrup指出,他所描述的大部分内容已经被尝试过,甚至有规模化的实践 。“但这些都没有被整合成一个一致的、连贯的整体 。这就是我认为我们应该做的 。”
“卫生规则+静态分析+运行时检查”就是被提炼出的公式 。Stroustrup说C++可以消除许多常见的错误,包括未初始化的变量,范围错误,空指针解引用,资源泄漏和悬空引用 。
在演讲接近尾声时 , Stroustrup谈到了更多的细节 。“我建议你采用基于模块的控件 。”
复制
export My_module[[provide(memory_safety)]];
import std [[enable(memory_safety)]];
import Mod [suppress(type_safety)]];
还在开发中的是代码内控件,用于代码片段 。
复制
[[suppress(type_safety)]] X
[[enforce(type_safety)]] X
3、合力:面向开发者的愿望清单目前这项工作还在进行中,你可以查到与之相关的论文和讨论 。Stroustrup谈到:“从经典的C,从‘带类的C’ , 到C++11,我们已经走了很长很长的路 。”
面向开发者,Stroustrup建议用户可以帮助完善配置文件并将其规范形式化 。“我梦想着像 Profiles Light 这样的东西 , 它提供了配置文件的大部分保证,但不能做所有最后的事情,因为,比如说,静态分析器还不能做到这一点 。”
Stroustrup创建了一个 Github 存储库,“人们可以在那里提出建议 , 我将把我的草稿等放在那里,这样我们就可以创建一个社区,致力于在合理的时间内完成这些事情 。
存储库询问需要什么才能使配置文件成为“满足各种 C++ 安全需求的全行业工具” , 并将该概念称为框架 。“为了实现广泛使用,必须创建和安装许多部件 。虽然我们已经做了很多工作 , 但广泛可用的相对较少 。这是一个愿望清单 。请尽你所能提供帮助 。”

C++“中年危机”有救了!C++之父新动作!

文章插图
参考链接:
https://thenewstack.io/bjarne-stroustrups-plan-for-bringing-safety-to-c/
https://www.YouTube.com/watch?v=I8UvQKvOSSw&t=4371s

【C++“中年危机”有救了!C++之父新动作!】


推荐阅读