正巧,c/c++和python都写过项目,题主所述的c++没有python开源库多,我是认同的话题库。
代码本质上话题库。 c++是编译型语言,python是解释型语言。 c++很多静态或者动态的类库都是闭源的,比如Linux里面的.a文件是静态库,.so文件是动态库,比如windows里面的.lib文件是静态库,.dll文件是动态库,都是二进制文件。 所以如果问题把“开源”去掉,就值得商榷了,可以这么说,只要你c++玩的溜,整个操作系统API都是你的类库。 c++太底层了,导致其实很多著名的python的库都衍生自c++库。
方便程度上话题库。 前面说了,c++的开源库最终都要编译成静态库或者动态库被你自己的代码调用。 Linux下面./configure,然后make,readme里面基本就这两句话,看着命令行一堆报错,你会痛骂作者是个大忽悠。 windows更惨,你是vs2008的编译器,开源库只给了vs2012的工程文件,这时候你就要考虑是把你的代码升级到vs2012上报错少,还是把开源库降级到vs2008报错少,考虑再三,还是不用第三方库了,看懂开源代码,自己动手实现得了,想偷懒发现更麻烦了。 python很简单,pip下下来就可以直接用了,唯一要考虑的就是py2和py3的区别。
应用场景上话题库。 python偏应用层,追求的就是开发效率,对程序员要求比c++低,更适合于初学者和编程爱好者,自然需要更多的库来支持,后面自然而然出现pip这样全球共享的平台也不奇怪。 c++却感觉慢慢走向精英语言,很多技术被大企业控制,形成商业软件,使用它们的接口价格昂贵,能够在大企业用c++写项目的都是大神,不屑于调用开源库,实现任何功能都是自己造轮子,用时间换取更贴合自己项目的功能,使自己程序更加短小精悍,最终结果也就是越来越闭源。