< 返回版块

苦瓜小仔 发表于 2026-01-03 10:06

Tags:日报

文章《硬件之所予,不及软件之所耗:为什么 C++ 开发者群体依然在快速增长?》

作者:Herb Sutter(C++ 标准委员会主席)

关于“尽管有安全性的挑战、竞争对手(如 Rust)的崛起以及 AI 编程工具的普及,为什么 C++ 开发者群体依然在快速增长?”

核心论点:“软件吞噬硬件的速度快于硬件的增长”

Herb Sutter 提出了一个核心定律:“Software taketh away faster than hardware giveth.”(软件消耗性能的速度总是超过硬件提升性能的速度)。

  • 永恒的效率需求:人类对计算量的需求是无限的。每当硬件性能翻倍,软件开发者就会通过更复杂的任务(如高清视频、大规模 AI 模型、实时渲染)将这些性能迅速耗尽。
  • AI 的反向推动:AI(如 ChatGPT)并未取代程序员,反而创造了巨大的计算缺口。由于算力、电力的限制,AI 行业对极致效率的需求前所未有。这导致 C++ 和 Rust 这种能压榨每一分硬件性能的语言需求量激增。
  • 硬件瓶颈变为能源瓶颈:在 2025 年,计算能力的限制不再仅仅是 CPU 频率,而是**“功率(Power)”**。每瓦性能(Performance per watt)直接关系到企业的收入,这让 C、C++ 和 Rust 成为唯三能够满足这一硬性指标的语言。

惊人的增长数据 (2022 - 2025)。Herb Sutter 引用了 2025 年最新的行业报告(如 SlashData 和 IDC):

  • 开发者人口增长:全球开发者人口在过去三年增长了 50%,从 3100 万增至约 4700 万。
  • 最快增长语言C++ 和 Rust 是 2022 年至 2025 年间增长最快的主要编程语言。
  • 规模对比:C++ 目前的开发者基数比 4 年前排名第一的语言(可能是 JavaScript 或 Python)当时的总数还要多。而 C++ 和 Python 一年内增加的开发者人数,就相当于 Rust 现有的所有开发者总数。

C++ 的进化:安全性与 C++26。Sutter 承认了内存安全的重要性,但他强调 C++ 正在通过进化来反击:

  • C++26 强化模式:即将发布的 C++26 将引入“加固模式”(Hardened mode),通过重新编译即可实现越界检查,消除因未初始化变量导致的未定义行为(UB)。
  • 工具与安全:他指出,现代安全问题中只有约 30% 与语言安全属性有关,其余多为逻辑或架构漏洞。C++ 正在通过工具链(Sanitizers, Static Analyzers)和新标准弥补短板。

在 Reddit 社区 Rust 频道,开发者们对 Sutter 的观点进行了激辩:

  • 认同派
    • 效率即生存:开发者认为在“后摩尔定律时代”,性能就是金钱。无论是游戏引擎、数据库还是 AI 推理,除了 C++ 和 Rust,别无他选。
    • 两者的共存:许多人认为 C++ 和 Rust 的同时增长并非“你死我活”,而是共同从低效语言(如 Java 或传统 C)手中夺回系统编程的领地。
  • 质疑/清醒派
    • 复杂性危机:有人指出 C++26 虽然更安全,但语言已经变得极度庞大和复杂。与之相比,Rust 的优势在于其“天生安全”的基因,不需要依赖复杂的编译器开关。
    • 标准落地的滞后:Reddit 用户提醒道,即便标准出台,工业界从旧 C++ 迁移到 C++26 的过程可能长达十年,而 Rust 可以从第一天起就提供安全保障。
  • 关于 AI 的共识
    • AI 工具(如 Copilot)极大地提高了编写 C++ 和 Rust 的效率,降低了原本极高的门槛。这使得更多开发者敢于尝试这些“难学”的语言,反而推动了它们的普及。

AI 总结:

Herb Sutter 的核心信息是: 高性能语言的“黄金时代”正在回归。由于 AI 带来的算力危机和能源限制,行业正在重新审视运行效率

  • C++ 凭借深厚的生态系统和不断自我修复的特性(C++26)保持着庞大的体量和极速的增长。
  • Rust 则是现代系统编程的先锋,吸引了追求安全和现代开发体验的新一代开发者。
  • 结论:在 2026 年的今天,能够直接操作硬件、最大化能源利用率的程序员(C++/Rust)比以往任何时候都更值钱。

阅读:https://herbsutter.com/2025/12/30/software-taketh-away-faster-than-hardware-giveth-why-c-programmers-keep-growing-fast-despite-competition-safety-and-ai/

讨论:https://www.reddit.com/r/rust/comments/1q0tn4o/why_have_c_and_rust_been_the_fastestgrowing_major/

DuckLang:高性能全栈 Web 开发编程语言

项目定位:

  • 目标领域:高性能全栈 Web 开发。
  • 核心愿景:结合 Rust 的可靠性、TypeScript 的易用性以及 Go 的并发性能。
  • 实现方式:编译器使用 Rust 编写,但运行在 Go 运行时(Go Runtime) 之上,从而利用 Go 成熟的垃圾回收(GC)和高并发调度能力。

核心特性:

  • 超越 Next.js 的性能:官方声称在真实场景下,每秒处理的请求数(RPS)比 Next.js 高出 100 倍
  • 内置全栈支持
    • SSR(服务端渲染):原生支持类似 JSX 的语法(称为 Duckx)。
    • 前端集成:将 Preact 组件作为一等公民集成到语言中。
    • 样式支持:内置了用 Rust 重新实现的 Tailwind CSS,提供极快的样式处理速度。
  • 开发体验(DX)优化
    • 无生命周期(Lifetimes):不像 Rust 那样需要处理复杂的借用检查,因为使用了 Go 的 GC。
    • 静态编译:编译成单个静态链接的二进制文件,部署极简,无需 Node.js 运行时。
    • 强类型系统:支持联合类型(Union Types)、结构化类型(Duck Typing)和更严格的控制流分析。

在 Reddit 上,这款语言引发了关于“为什么不直接用 Rust”或“为什么基于 Go”的讨论:

  • 为什么基于 Go 运行时? 作者解释说,Go 的生态系统在云计算和网络后端非常成熟,且 GC 简化了 Web 应用中复杂的网络状态管理,避免了 Rust 严苛的生命周期限制。
  • 解决了什么问题? 社区认为它解决了 TypeScript 性能瓶颈(JIT 限制)和 Rust 在 Web 开发中门槛过高(代码过于繁琐)的问题。
  • Go 的互操作性:DuckLang 可以直接利用 Go 的标准库和包生态,解决了新语言起步阶段“没库可用”的尴尬。

项目现状:

  • 工具链:提供了 duckup(编译器版本管理)和 dargo(构建工具)。
  • 阶段:处于 Alpha 早期阶段。它并不是要取代 Python 的数据分析地位,而是要取代 Next.js/Node.js/Bun,成为下一代高性能 Web 开发的首选工具。

仓库:https://github.com/duck-compiler/duckc

公告:https://duck-lang.dev/blog/alpha

讨论:https://www.reddit.com/r/rust/comments/1q1ink3/announcing_ducklang_a_programming_language_for/

The Embedded Rustacean 半月刊 #62

阅读:https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-62

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页