据我所知,所有脚本语言和核心科学程序通常都是用C语言编写的;这使得实现混乱而又直截了当.

我理解这些人希望最大化他们的表现,但是使用C字符串和C struct 来使用C++类有很大的区别;C++的工作方式类似,除了虚拟函数,它还存储一个类函数,并且该类的每个实例调用一个函数.

是什么让C更快?在python或sqlite这样的项目中,谁必须是最快的,这是一个显著的区别吗?

推荐答案

C++经常用于科学程序.C在该领域的受欢迎程度可能正在下降.Fortran作为一种"低级"语言仍然很受欢迎.

在C++中,"你只为你所用的东西付费".因此,没有什么比C语言更慢的了.尤其是对于科学程序,表达式模板可以使用模板引擎来处理程序语义,从而执行一些自定义优化.

对于Python这样的项目,首选C的原因是它往往不那么容易阅读,因此大型代码库将更容易被更多的贡献者访问.

SQLite需要较小的可执行代码大小,而C确实有一点优势.明智的C++使用仍然允许在嵌入式应用程序中使用,但由于担心不必要的语言特性会被蠕动而不流行.

C++相关问答推荐

C如何显示字符串数组中的第一个字母

通过管道将一个子系统的标准输出发送到另一个子系统的标准输出

减法运算结果的平方的最快方法?

测量ARM MCU中断延迟的问题

将fget()与strcMP()一起使用不是正确的比较

Linux不想运行编译后的文件

加密解密工作正常,但返回错误0x80090005

对重叠字符串使用MemMove

X64:并发写入布尔数组

防止C++中递归函数使用堆栈内存

C I/O:在Windows控制台上处理键盘输入

如何用C语言为CLI应用程序编写按键检测系统?

Valgrind正在使用一个Fexecve电话报告不可能发生的事情

共享目标代码似乎不能在Linux上的进程之间共享

强制GCC始终加载常量(即只读),即使启用了优化

Matlab/Octave对conv2函数使用哪种方法?

为什么一个在线编译器拒绝这个VLA代码,而本地的Apple clang却不拒绝;t?

在NASM中链接Linux共享库时出错-';将R_ X86_64_;foo';

根据输入/输出将 C 编译过程分为预处理、编译、汇编和链接步骤

在链表中插入一个值