C++是否会过时?被Python取代还有多远?

PythonC++

1个回答

写回答

熊猫很困

2026-02-14 05:21

+ 关注

Java
Java

随便聊聊吧。你说的这个理由——硬件的不断升级——其实早在二十多年前就被 Java 那些语言阵营反复提过了。假设一万年后,硬件性能提升了整整一万倍,那时候你的 Python 程序运行效率可能已经和一万年前的 C++ 差不多了,但即便如此,它依然会比同时代的 C++ 慢!这是因为时代在进步,我们的需求也在水涨船高。回想 25 年前,我买了一台破旧的电脑,因为囊中羞涩买不起巫毒显卡,所以玩不了当时的大作;前几天,我又入手了一台新电脑,虽然还是买不起最新的 4080 显卡,但它比起 25 年前那台电脑强太多了,可即便如此,我还是玩不了当下最热门的游戏——除非你让我回去玩 25 年前的老游戏。同样的道理,25 年后,我们也不能仅仅满足于用 Python 写个扫雷程序不卡顿就沾沾自喜。对于一些对性能要求不高的任务,硬件的不断升级确实可以让原本必须由 C++ 完成的工作勉强用 Python 来替代。然而根据前面提到的原因,Python 最多只能替代那些不太重要的边缘部分,就像当年的 Java 一样。事实上,Python 确实在某些领域实现了替代,但它并不是取代了 C++,而是取代了 Java。即使我们完全忽略运行效率,只讨论编码的难易程度,我想问问你是否用 Python 写过规模较大的软件?它在小项目上的优势,在大项目中往往会变成劣势。比如动态类型这一特性,随着项目规模增大,问题就会逐渐显现出来。也许其他人有不同的体验,但以我的能力而言,只要 Python 工程稍微大一点,我的脑力负担就会成倍增加,甚至呈指数级增长。这种现象其实在所有标榜简单的语言中都很常见。看看 Java 的发展历史就知道,一开始它以简陋的语法为卖点,结果在实际工程中却逐渐演变成了一团乱麻。所以,如果你是因为简单才选择了 Python,那就别指望它在尝试承担 C++ 那种级别的任务时还能保持所谓的简单。想做到既简单到不用学就会,又能完成复杂到足以拿诺贝尔奖的任务,那是不可能的。至于硬件性能过剩的可能性(也就是性能过剩可能会抹平不同语言之间的运行效率差异)…… 我给自己设定了一个小目标:先让电脑能够流畅运行所有游戏,接着能单机训练出像 ChatGPT 这样的模型,然后是单机模拟一个人类,再进一步模拟全球 60 亿人口,最终希望它可以模拟整个宇宙。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号