
C++
想要性能?那去看汇编吧,不过这两者(汇编和另一个未提及的东西)都不咋行。要是追求安全?那就去看GC语言吧,可这两者(GC语言和之前提到的那个未提及的东西)也都不怎么样。新项目选哪种语言?这不是该项目主管考虑的事儿吗?哪轮得到底层程序员来操心?那种既想要这个又想要那个的想法是不可取的,什么都想要的结果大概率是什么都得不到。不过
C++在兼顾多方面需求上已经做得很不错了。就像老干妈一样,比它好吃(更好用)的成本更高(性能更差),比它便宜(性能更好)的又没它好用。这样就足够了。说到难用,Rust那可真是独一无二。我是个
C++20的使用者,看了几天Rust的文档就不想再看了。不是看不懂,其实并不难懂,但是看着就觉得难受。我就不明白了,简单的事儿为什么要搞得那么复杂,管理好内存和多线程难道不是程序员的基本要求吗?这是和我所熟悉的程序该怎么写的理念存在根本冲突。我熟悉的语言有C、
C++、
Java、
Python3、用于数据分析的R,还有Shell(如果它也算一门语言的话),还没有哪种语言让我从第一眼看到最后被劝退都这么难受的(,其实有,Perl,不过Perl是表述形式让人难受,各种奇奇怪怪的符号,语言本身并不让人难受,准确地说应该是看起来很丑陋)。所以我难道是闲得没事干去让自己难受吗?又不是老板要求我用Rust,Rust的拥护者又不给我发工资,对吧?老板都没意见,轮得到那些拥护者有意见吗?再说说题主最关心的性能问题,
C++和Rust在底层控制方面都很优秀,它们的理论性能没什么差别(真要深究的话还是
C++更强,毕竟我还能拿出汇编)。区别只在于写出来的代码质量到底怎么样。但一般来说,一个大型项目的代码肯定不是一个人写的,肯定会用到很多第三方库,很好,在第三方库这方面,
C++可一点都不怕谁。至于说Rust能帮助把控合作者的代码质量?不好意思,它只是帮忙把控所谓的内存安全问题,性能问题可不在它的把控范围内。再说说新项目选择哪种语言的问题,其实在绝大多数
公司,这不是一个技术问题,而是一个项目管理问题,包括
公司以前用什么、
公司现在有什么样的程序员、
公司是否需要Rust那种对内存安全的要求、项目的需求到底是什么,甚至老板喜欢什么语言。那程序员的想法重要吗?