为什么c++的开源库那么少?

为什么c++的开源库那么少?

在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「c++的资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

在评论区回复"888"之后私信回复"888",即可拿走。

这其实和每种语言的定位有关,c++定位偏底层,Java,Python都定位在更高的抽象层级中。就像很多行业有上下游一样,不可能所有人都要做手机,却没人做芯片。

c++标准库所缺失的其实都可以由第三方库来弥补,c++标准库提供的是底层的,粒度较小的API,比如它没有图形库,你可以使用qt,MFC,等等实现,Java有图形库swing,awt。不是照样没人用。。同样如果c++标准库里面东西多了,你可能也会吐槽,标准库实现的好low啊,然后拒绝使用。高层抽象的库及其API很多时候优劣更难以鉴定,它可能不仅是从效率方面考虑,也可能从软件工程的角度来考虑,见仁见智,它们不像实现一个排序算法那样,一就是一,二就是二,快就行。

同样的情况你可以看看c语言,他定位更为底层(是底层而不是低级),他的库比c++还欠缺很多,然而依然有很多开源项目在用,比如nginx。你可以这样想想,你一台机器上,可能放置多个Java web的网站,但是你只需要部署一个nginx。这就是定位不同。

你每个网站代码肯定是不同的,而nginx安装完基本上不会变了。C/C++语言的应用场景通常定位在基础设施。就好比是高速公路,而Java、Python这种基于更高层次抽象的语言定位在基础设施之上的各类应用,就好比是跑在路上的汽车。汽车每年都要生产很多,但是高速公路不会频繁地新增,但公路又是不可或缺的。

相关推荐
LCG元1 小时前
STM32软件模拟I2C驱动多从机实战:AHT20温湿度 + BH1750光照 + 0.96寸OLED实时显示
stm32·单片机·嵌入式硬件
hsjiasb12 小时前
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)
stm32·单片机·嵌入式硬件·学习·freertos
我是海飞14 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理
wuyk55516 小时前
2.队列:先进先出的线性数据结构
c语言·数据结构·stm32·单片机
芯岭技术郦17 小时前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
LCG米20 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件
云泽80820 小时前
深入浅出 STM32(十一):从寄存器映射到 HAL 库位操作源码详解
stm32·单片机·嵌入式硬件
哥不想学算法20 小时前
STM32零基础教程(六):ADC、I2C、SPI与DMA
stm32·单片机·嵌入式硬件
我是一棵无人问荆的小草21 小时前
LM393DT比较器输出
单片机·嵌入式硬件
云泽8081 天前
深入浅出 STM32(十三):从施密特触发器到四种输入配置的底层逻辑
stm32·单片机·嵌入式硬件