你可以把这个作为基础路线,但还得增加不少东西!
如果你已经大三,今年6月就要开始找实习的话
那还学屁C++,去学java什么的
如果你现在时间还充裕?
那可以参考我自己的C++后端开发路线:(总共分了四个大项,每个大项之间是可以同步进行的)
语言工具方面
必读:
1.《C++ primer》(感到吃力的话可以先看《C++ primer plus》,找时间再把《C++ primer》看一遍)这本不用介绍了吧- -
2.《effective C++》C++是一门相对很复杂的语言,复杂也就意味着不好掌握他,很容易就写出坑,而这本书就是帮助你去避免一些常见的坑
3.《C++ 标准库》STL总得会吧?超厚的一本,劝退神作...
4.《effective STL》避免一些在使用STL时常见的坑
选读:
1.《STL源码剖析》这本书怎么说呢,适合去深入的了解STL源码,观察实现细节。时间多或者对这特别感兴趣... 可以读... 把我虐惨了,但是收益也很大就是了
2.《more effective C++》effective C++的续集,有时间的话可以读,内容深度上比effective C++深
3.《C++ Templates》C++模板的较深入学习,反正我没读完,太难了
实践:
1.《贪吃蛇》
2《XXX管理系统》
3.《json解析器/生成器》miloyip/json-tutorial可以照着这个写个C++版本的出来
以上三个项目在读完《C++ primer》/《C++ primer plus》+《effective C++》后进行
4.《mini STL》力所能及的去尽量写,能写多少算多少,参考标准文档的接口实现,可以暂时不考虑整体结构,可以暂时不写成模板的...
在读完《C++ 标准库》和《effective STL》后完成
5.重构《mini STL》
如果你读了选读的部分... 也是尽力而为吧...
计算机基础方面(注意,这儿的基础理解为底层什么的更合适)
必读:
1.《编码》科普向,很有意思,启发兴趣和简单有个最大概的认识...
2.《深入理解计算机系统》计算机体系结构、计算机组成、操作系统、汇编语言 这些玩意的导论
3.《现代操作系统》较深入的系统学习操作系统方面的知识
4.《计算机网络——自顶向下方法》如书名- -
选读:
编译原理相关的书,因为这个本身我也学得很差,而且兴趣不大... 就不具体推荐了
计算机组成原理/计算机体系结构相关的书,这方面的知识我感觉深入理解计算机系统里讲的对我而言够用了,所以也不具体推荐了
实践:书后的习题能完成多少算多少吧- - 难度很高...
数据结构与算法
必读:
1.《数据结构与算法分析》
2.《算法》
选读:
3.《算法导论》
这三个没啥好说的,反正就是数据结构与算法的东西嘛
实践:
尽量去实现学到的结构/算法
杂项
必读:
1.《linux鸟哥私房菜基础版》学会使用linux
2.《UNIX高级环境编程》
3.《unix网络编程》
4.《Linux多线程服务端编程》
5.《head first 设计模式》
6.《程序员的自我修养》
7.《数据库系统基础教程》
8.git与github的使用,这个看廖雪峰大佬的博客学就行了
选读:
1.《代码大全》
2.《UNIX编程艺术》
3.《QT Creator 快速入门》
.....
这儿可以写的书就很多了... 我就大概写了我读完并觉得很不错的列了出来,顺序上除了前面4本,其他的倒也不用按顺序阅读了
实践:
学到这儿了,能实践的东西可就太多了,下面给出简单的建议:
1.即时通讯软件
2.阅读好而简单的项目源码
......
结束
好了,这就是我自己大概的学习路线,需要注意的是,这是C++后端服务器开发的路线,所以请别问我为什么没有《OpenGL编程指南》之类的书。学习时间上... 花了两年半的样子,如果自己不贪玩的话(steam喜+1警告),估计需要一年半的样子去完成这些内容。
另外想要成为一个优秀的、有能力C++程序员的话,其实作为一个开发者或者编程学习者,有一个学习的氛围跟交流圈子特别重要!这里我推荐一个C语言C++交流企鹅群(群号见简介)不管你是不是零基础,大家都可以一起成长进步。
作者:龙时雨
原文链接:https://www.zhihu.com/question/318605372/answer/641486772
来源:知乎
网友评论