作者:布加迪
在过去的50年里,出现了几十种新的语言,他们表现得多么出色?有些在挑战C的统治地位,而其他则想逐渐削弱它。
几十年来,C语言一直是占主导地位的程序设计语言。Linux、Windows、Mac和许多其他操作系统的内核中都可以看到它。C语言几乎可以写任何程序,在程序设计语言中的地位,倍受推崇。它甚至可能是有史以来最有影响力的语言。它的语法启发了许多其他语言,包括Cpp、Csharp、Java、JavaScript、Go、Perl等等。
自年以来,C编程设计语言已经成为构建软件的主力语言之一。但在过去的50年里,出现了几十种新的语言,而它们的后代的表现又如何呢?有些在挑战C的统治地位,而其他则在想逐渐削弱它。
撼山易,撼C难。在性能、裸机兼容性和流行性方面,很少有语言能够打败C语言。不过,与一些主要语言相比,C语言的性能如何还是有必要的。本文提供了一个详细的与C++,Java,C#,GO,Python和最新的语言Carbo与C语言的对比分析。
C与C++
常将C与C++比较,C++是作为C语言的扩展而创建。之间的区别在于C++和C是大的,甚至无法相提并论。
尽管C++在语法和方法上仍与C类似,但它提供了许多C本身没有的有用特性:名称空间、模板、异常和自动存储管理。一般来说,顶级性能的项目,如数据库和机器学习系统,通常都是用C++编写的,利用这些特性来最大限度地提高系统的性能。
另外,C++比C迈出了更大的一步。即将发布的C++23带来了更多的功能,包括模块、协程和模块化标准库,以实现更快的编译和更多的代码。相比之下,C标准的下一个计划版本C2x增加的功能很少,只专注于保持向后兼容性。
问题在于,C++的所有优点也可能是缺点。使用的C++软件特性越多,引入的复杂性就越大,处理结果也就越困难。如果开发者只