我看不到关于 Rust 或 C++ 的帖子,没有关于 Rust 取代 C++ 的评论。我曾在 Microsoft 担任网络安全实习生,在 Rust 工作,我真的很喜欢它。我还广泛从事 C++ 领域的研究应用工作,目前在 Google 担任机器学习工程师。这两种语言之间的应用程序有大量重叠,但 C++ 不会很快消失。
理解这一点很重要,因为互联网喜欢延续 C++ 是一种即将消亡的语言的神话。我见过很多人说不要学习 C++,因为 Rust 基本上可以做 C++ 能做的所有事情,而且更容易使用,而且几乎可以保证内存安全。这种叙述对于新开发人员尤其有害,因为他们主要关注应该获得哪些语言的经验。这导致他们放弃 C++,我认为这是一个巨大的错误,因为它实际上是新开发人员学习的最佳语言之一。
C++ 将会存在很长一段时间。Rust 的受欢迎程度最终可能会超过它,但不会很快。大多数人说这是因为开发人员不想/不能花时间学习一门新语言(这是极其不真实的),或者 Rust 的能力不如 C++(对于绝大多数应用程序来说也是不真实的)。事实上,Rust 不会很快超越 C++ 的原因很简单:开发人员人才库。
大多数使用 C++ 的应用程序都对延迟和效率至关重要。根据我的经验,这种重要性决定了应用程序的盈利能力。C++ 经常使用的两个例子是机器学习和高频交易应用程序。两者都需要高效、低延迟的执行才能实现利润。
你可能会想:那又怎样?Rust 也可以用在这里。这绝对可以。但 C++ 的开发人员人才库比 Rust 大得多。使用 C++ 的公司往往会采用更高的招聘标准,因为他们需要知识渊博、能够快速提高生产力的开发人员。更大的招聘池对这项工作有很大帮助。选择 C++ 而不是 Rust 是有意义的,只是为了有更多的潜在员工可供选择。当然,公司可以雇用 C++ 开发人员并教他们 Rust,但这会影响开发人员的速度,而这些公司需要避免这种情况。
我提出这个问题是因为“Rust 杀死了 C++”的说法会对单个软件开发人员产生非常负面的影响。C++ 是新开发人员学习的最佳语言之一,主要原因有两个:
它迫使人们了解基础知识。基础知识很重要,它们为开发人员学习其他语言奠定了基础。从 C++ 转向另一种语言很容易,但另一种方式可能会有点困难。我想在这里强调,软件工程师的部分工作是能够选择他们试图解决的问题所需的语言。C++ 对于学习这项技能很有帮助。 C++ 的利润非常丰厚。寻找优秀开发人员来解决延迟关键问题的职位往往报酬丰厚。作为一名新开发人员,学习 C++ 可以让您在一份利润丰厚的职业生涯中处于有利地位。
我建议涉足 C++。尽管我想用 Rust 编程,因为它非常有趣,但采用新语言会遇到很多摩擦,尤其是在利润关键的应用程序中。C++ 不会很快消失。
原文
https://societysbackend.com/p/why-rust-isnt-killing-c