C++|C++会被取代或者淘汰吗


C++|C++会被取代或者淘汰吗
文章图片
C++|C++会被取代或者淘汰吗
文章图片
C++|C++会被取代或者淘汰吗
前面一直都在提到C++的好 , 也有人问我难道就没别的可以来代替它吗?好吧 , 接下来就回答下这个问题吧!
很明显 , C ++仍然是使用最广泛的语言之一 , 并且它将在2021年继续存在 。 它提供的性能和抽象的结合使它在很多领域中都非常有用 , 其中唯一的替代选择是C 。 唯一的选择是 , C ++似乎很吸引人 。
但是问题在于 , C ++修复了C对多态性的缺乏支持-可以说以过多的复杂性为代价-但它并不能解决C对于通用编程的真正问题:内存安全 。 C ++的创建者Bjarne Stroustrup曾经说过:“ C可以使您轻松射击自己;C ++使它变得更难 , 但是当您这样做时 , 它会使您全神贯注 。 ”
而现在的编程语言就和百家争鸣一样 , 都在争取着自己的一席之地 , 就好比下面介绍的:
1.Java:就像C ++一样冗长 , 但没有那么疯狂 。 这些年来 , 执行速度相当不错 , 但我们不要谈论内存使用情况 。 C#的同上
2.D:最初是作为C ++的重新设计而创建的 , 但是现在它已经成为自己的东西 。 这是一种更好的语言 , 而且速度很快 , 但是它有一个垃圾收集器 , 可以将其排除在许多用例之外 。 但是 , 可以避免垃圾收集器 。
3.Nim :一种令人愉快的多态语言 , 可以编译为C , 并且具有与D相似的性能故事:速度虽然快 , 但具有垃圾收集器 。
【C++|C++会被取代或者淘汰吗】4.GO:明确创建是因为Google员工讨厌使用C ++ 。 相当快 , 但不及C ++ 。
5.Julia:高性能 , 动态类型的解释语言 , 其创建目的是使科学家避免使用C ++和Fortran 。
6.Rust:Mozilla的一种系统语言 , 实际上与C ++一样快 , 并且没有垃圾回收 , 但是通过类型系统确保内存安全 , 该类型系统可以在编译时考虑内存需求 。 它有点像C ++中的RIIA , 但是实际上可以保证它是安全的 。 这很整洁 , 但是也很难使您的程序进行编译 。
7.ATS:一种快速的 , 类似于ML的语言 , 没有Rust收集 , 像Rust一样 , 可以使用类型系统在编译时推断内存需求 。
8.Zig: 一种旨在与C竞争的语言 。 它仍然是内存不安全的 , 但是它为C所缺少的多态性和编译时计算添加了抽象 , 而没有像C ++那样成为可怕的野兽 。 它用于您实际上需要显式内存管理的低级任务 。
我敢肯定还有更多 。 这些只是我遇到的一部分 。 这些语言中没有一种能成功取代C ++ , 但是 , 有些语言已经从C ++夺走了一些市场份额:当然是Java和C# 。 看起来Go现在也进入了那里 。 尽管Rust还没有大量的企业部署 , 但是它已经开始启动新的开源项目而广受欢迎 。
其他语言可能对C ++的影响不大 , 但是让我们继续希望并且不要忘记C本身 。 看看Tiobe的最新消息表明C既是最受欢迎的语言 , 也是增长最快的语言 , 但是 , 正如C在过去一年在TIOBE索引中获得的收益一样 , C ++的损失甚至更多!
但是只能这些都不意味着C ++会消失 。 但是 , 慢慢地但可以肯定的是 , 可行的C ++替代品开始出现在许多领域中 , 人们正在使用这些替代品 。 这有可能意味着C ++最终会走上COBOL的道路:仍然存在(并将永远存在) , 但这只是维护旧应用程序的用途 。
尽管如此 , 您仍应使用最佳工具完成工作 , 而C ++仍然是许多工作的最佳工具 。 因此我觉得您仍有去学习这门语言的必要 。 当然是针对想学愿意去学习的人来说 。