
MySQL
为什么GCC、JDK和
MySQL仍在使用
C++开发?然而,打开这些问题后,往往看到的只是对Rust的一片吹捧。无非是强调Rust的安全性或者性能优势,而底下的回答也大多是千篇一律地攻击那些支持Rust的声音。这种讨论似乎变成了一场立场之争,所谓的深度探讨也不过如此。若要认真思考这个问题,我认为核心原因在于软件行业的增量正在放缓。提出这类问题本身说明Rust尚未拥有一个足以证明其价值的杀手级应用。例如,LLVM可以用Rust重写吗?当然可以。但问题是,用Rust重写这些项目是否值得?这些项目都是工业级的大型系统,已经作为整个软件行业基础设施的核心存在了几十年。贸然改动不仅会带来难以通过的回归测试,还会导致无法估量的工作量。此外,许多历史遗留代码的维护者早已离开,原本的Bug甚至已经成为运行中的Feature,替换它们将引发一系列复杂的问题。因此,Rust需要开拓新的领域,并在其中找到自己的位置。比如
Python抓住了
AI领域的机遇,Go语言在分布式Web服务中崭露头角,Dart则成功切入
移动端开发。然而,Rust的情况更加复杂。它比这些语言更为年轻,且目标定位于底层开发,试图与C/
C++竞争。这一方向让Rust更难找到适合的应用场景。再加上软件行业整体发展速度的减缓,上层应用(如
互联网、非大模型
AI、嵌入式等领域)的增长放缓直接影响到下层基础设施(如操作系统、编译器等)的需求增长。这使得Rust以及其他新兴语言和技术(如mojo、bun
JS、svelte等)陷入了一种尴尬境地:既无法直接替代现有生态,又未能发现全新的应用场景。最终,它们只能暂时被搁置一旁,等待时机。