软件工程

关于软件工程原则、最佳实践、架构、代码质量和专业开发技术的文章和资源。

COBOL 迁移到 C++: 遗留系统现代化实用指南

COBOL 迁移到 C++ 是企业可以开展的最具影响力的现代化项目之一,同时也是最容易被忽视的项目之一。如今仍有大约 2200 亿行 COBOL 代码在生产环境中运行。银行通过它处理数万亿美元的交易。政府靠它运行养老金系统、税收征管和医疗保障。航空公司用它来预订机票。而每一年,懂得维护这些代码的人都在步步逼近退休年龄,几乎没有新人能够接替他们。 几十年来,企业都知道自己需要进行现代化改造。但成本太高,风险太大,而 COBOL 系统一直在正常运转。如今情况变了。大型机许可费用在不断攀升。开发者人才库正在迅速萎缩。遗留系统与现代基础设施(云、容器、CI/CD、API)之间的差距每年都在拉大。 问题已经不再是 “...

C++ 与 Rust 的内存安全——现代 C++ 实用示例对比

C++ 与 Rust 之间的内存安全讨论已成为软件工程领域最活跃的话题之一。政府机构纷纷发表了意见,各类技术会议为此设立了专题演讲,双方阵营都持有强烈的观点。 我先表明立场:Rust 是一门优秀的语言。 它的所有权模型和借用检查器确实具有创新性,能够在编译时捕获整类缺陷。如果你正在启动一个新项目,且 Rust 适合你的团队和技术生态,那是一个很好的选择。 与此同时,C++ 依然是全球性能要求最苛刻的软件的基石:操作系统内核、游戏引擎、浏览器、数据库和金融系统。这并非偶然,也不是因为这些团队没听说过 Rust。 我在这篇文章中想探讨的,是争论中经常被忽视的一个要点:现代 C++(C++11 及之后的版本)提供了编写内存安全代码的强大工...