感觉这说法比较有道理。刚才想了一些见过的软件,用C++实现有这些项目,应该是C++相对其他语言占优的地方:
- AI框架:TensorFlow, PyTorch
- 编译器:LLVM, GCC(>=4.8), yosys, nextpnr
- LibreOffice等大型桌面软件
那些功能比较单一的基础算法库,像压缩库(zstd,lz4,lizard),malloc库(jemalloc,mimalloc),密码学库(OpenSSL,mbedTLS)还是C实现的多。用C写库还有个优势是其他语言的程序调用比较容易(不过C++,Rust也可以导出C接口)。操作系统内核(Linux)、数据库(PostgreSQL)用C写可能还有写其他的原因。
【 在 javafish (这不是一个昵称) 的大作中提到: 】
Redis不清楚
NGINX模块化程度可是相当的高
当然,关键还是这两个(核心)代码量都不算高
都是万行级别,CPP那一大套工程导向的设计没比较优势
又有极高性能要求又有高度复杂性的软件
很多又有历史包袱不能轻易导入语言特性
一溜排除下来之后……
【 在 lambdai 的大作中提到: 】
: 你看这俩开源的,他们分别的核心贡献者就几个人。一部分原因就是c代码很难重用和合作。
: C++在基本不牺牲性能的前提下,轻轻松松让核心开发者可以提高一个数量级。
: :
: ...................
--
修改:javafish FROM 223.104.210.*
FROM 103.90.178.*