这篇文章主要讲解了“为什么不推荐使用c++”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么不推荐使用C++”吧!(1) C++语法很复杂,好的C++程序员难求。语法上 C++14 开始的
这篇文章主要讲解了“为什么不推荐使用c++”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么不推荐使用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()
感谢各位的阅读,以上就是“为什么不推荐使用C++”的内容了,经过本文的学习后,相信大家对为什么不推荐使用C++这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
--结束END--
本文标题: 为什么不推荐使用C++
本文链接: https://lsjlt.com/news/283174.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0