这个问题的噱头太大,要真的写起来, 足够写一本书了。
本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路。
每个人的情况不一样,我下面的描述可能并不适合每一个看到的人。
一、C/C++语言
如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进。C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后, 你就有编写小程序的感觉了。
提起c语言,很多人都说c语言属于比较难的编程语言,但是一些大型项目设计高复杂度和高要求的项目的时候,c语言还是有很大优势,例如互联网搜索引擎,高性能科学计算,大型网络游戏服务器等等。
那么该如何着手学习c语言呢,我整理了一套系统的学习方案,只要按照这套学习方案进行学习,一定可以学有所成。
先来一张整体的学习线路图:
第一阶段
知识点对应的学习教程:
C语言基础视频
C++基础视频教程
第二阶段:
知识点对应的教程:
c++入门教程:
第三阶段:
知识点对应的教程:
c++深入浅出教程
第四阶段:
知识点对应的教程:
1、服务器开发之linux基础编程
2、服务器开发之linux系统编程
3、服务器开发之linux网络编程F
4、linux嵌入式开发+驱动开发
第五阶段:
QT界面开发教程
视频可评论要哦,另外,附带一张职业规划图
为什么C++没有Python那么多开源库?
正巧,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++写项目的都是大神,不屑于调用开源库,实现任何功能都是自己造轮子,用时间换取更贴合自己项目的功能,使自己程序更加短小精悍,最终结果也就是越来越闭源。