为什么看到这么多人不推荐C++?

人工智能2025-11-05 08:10:476

2000年左右是多人C++的鼎盛期,游戏,不推图形界面,多人科学计算,不推后台服务,多人各种新语言的不推实现语言,甚至入侵了一点操作系统里C的多人地盘。

一项技术,不推火起来蜂拥而上,多人泥沙俱下,不推平稳后发现后劲不足,多人或者有另一个风口出现,不推便如树倒萎溃散。多人

进化是不推好事,进化的多人同时要吸取经验,避免出现返祖现象。C++之父写过一本神书,«C++语言的设计和演化»,鄙人孤陋寡闻,似乎这是唯一一本阐述语言设计理念、折衷的辛苦无奈历程,Bjarne 在书中提出了很多极具智慧的网站模板设计理念,比如时下小火的俨然C++继任者 Rust 也极为推崇的“零代价抽象”。

回到主题,为什么C++不再被推崇?客观原因很明显:

(1) C++语法很复杂,好的C++程序员难求。

语法上 C++14 开始的“后现代C++”已经改善不少,以前一些奇技淫巧可以抛弃了,但可惜为了向后兼容性,历史包袱是丢不了的。

(2) 历史上机器性能很弱,编译器注重生成代码效率而在不太注重警告语法陷阱——没有足够资源做分析,C++编译已经非常慢了,所以C++的开发者友好度严重不足。

就像JS届出了v8这个奇葩,C++届有了LLVM后,逼得GCC也不断改进,错误信息提示友好漂亮多了,大微软的VC编译器还能把Effective C++, More Effective C++等书里描述的注意事项融入编译器里,也是这个大微软,开源了好用的云服务器提供商vcpkg,搭配CMake, C++的开发体验比以前提升了很多,至少比 NodeJS 折腾一礼拜还不一定能搞定编译工具链强 。

(3) Web 2.0 甚至 mobile web 时代,连老实贤惠的Java都被嫌弃,就别提C++了。

C++在科学计算的地位还是难以动摇,别瞅现在Python火的红屁股,其实就是个皮,没有C/C++加持,Python屁都不是。

明确下观点:你不一定要用C++,但它值得了解。补一句,你不一定要用Rust,但它值得学习。

最后,贴一个 Go 的例子,编译没问题,运行出错,而在 C++ 里完全可以在编译期就发现问题,压根不让编译通过。免费信息发布网

package main import (     "fmt"     "sync"     "time" ) func main() {     var wg sync.WaitGroup     wg.Add(1)     go foo(wg)     fmt.Println("before wait")     wg.Wait()     fmt.Println("after wait") } func foo(wg sync.WaitGroup) {     fmt.Println("before sleep")     time.Sleep(2 * time.Second)     fmt.Println("after sleep")     wg.Done() 
本文地址:http://www.bhae.cn/html/016c23999744.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

华为AR1200系列路由器(AR1200系列路由器产品特点及适用场景分析)

2017ChinaJoy(一次令人瞩目的游戏盛会)

手机CDR转JPG的最简单方法(手机格式转换神器,一键搞定!)

如何删除Nex-5R相片文件夹(简单操作教程,帮您轻松清理存储空间)

用折纸手工解压小电脑(发挥创意,轻松解压身心,享受DIY乐趣)

制作U盘启动盘Win7所需时间及步骤详解(制作U盘启动盘Win7的步骤及时间花费分析)

比特彗星打开教程(以比特彗星为例,全面解读加密货币投资与交易的入门指南)

解密120gSSD固态硬盘的性能与优势(深入探究120gSSD固态硬盘的关键特性和适用场景)

友情链接

滇ICP备2023000592号-9