在2000年左右是C++的鼎盛期,游戏,图形界面,科学计算,后台服务,各种新语言的实现语言,甚至入侵了一点操作系统里C的地盘。一项技术,火起来蜂拥而上,泥沙俱下,平稳后发现后劲不足,或者有另一个风口出现,便如树倒猢狲散。
为什么现在很多人都不会在推荐C++?客观原因很明显:
1,C++语法很复杂,好的C++程序员难求,语法上 C++14 开始的“后现代C++”已经改善不少,以前一些奇技淫巧可以抛弃了,但可惜为了向后兼容性,历史包袱是丢不了的。
2,历史上机器性能很弱,编译器注重生成代码效率而在不太注重警告语法陷阱——没有足够资源做分析,C++编译已经非常慢了,所以C++的开发者友好度严重不足。
而且C++ 相对于其它技术语言更加复杂, 而且细枝末节的规则是真的多. 但是类有构造函数, 函数能够重载这两点用起来太爽了, 更不要说还有泛型. 这些都给了这个语言非常强大的表达力,写 Python 的时候就开始怀念这些东西。
而只有在Linux 源码系统里面唯一的高级语言就是 C (马上有 Rust 了). 我在里面看到了非常多 C 的奇淫技巧. 在内核代码这种非常可控的地方,C++ 的优势其实不太能发挥得出来, 带来的只有复杂度。
行业相关,可以开心的用matlab,但是是必源的,没办法商用,c++在一个大的团队里还是很有价值的,毕竟谷歌还没有放弃它,所以不存在过时,而且现在还很火热嘞,君不见opencv,vtk,opencascade,opengl,未来很长一段时间都很难找到替代品,开源啊,免费啊。这里不得不瞻仰一下老一辈c++大神,虽然没比我大几岁…c++都没比我大几岁。费劲吧啦的弄出一套库,结果开源了,为我等节省了多少时间。