相信有很大一部分学计算机的童鞋都是靠自学,即使本身是计算机专业的同学,也会觉得仅仅通过课堂上的学习是远远不够的,而且在上课时所用到的教材也不够好。然而自学的时候有个很大的问题就是找不到合适的方向和学习路线,我在刚开始的时候也吃过这样的亏,总是纠结于语言的学习,觉得编程就是学很多语言。然而单纯学习语言并不能解决问题,我们需要学习的是一个完整的体系,而编程语言只不过是其中一个解决问题的工具而已。后来我通过不断摸索,积累学习经验,总结出了一套个人感觉很不错的学习路线。
首先要选则一门重点的学习语言,我在学习编程期间,接触过C,C++,JAVA,Python,也自己做过小的android应用开发,最终还是选择了以C++为重点学习方向,因为我觉得这门语言太强大而且足够优雅。下面就说说需要阅读并理解的经典书籍,虽然有很多我也没有读完,但是或多或少读了一部分,觉得确实经典,现在也仍在学习中。
首先必备的入门书籍就是这本《C程序设计语言》,这本书也是公认的C语言圣经,大多数人都是以谭浩强那么书入门,我也看过谭浩强版的那本书,虽然讲的很清晰易懂,但是感觉并不能算上经典,书中错误的地方也很多,课后题出的也很水。所以还是向推荐这本机械工业出版社出版的《C程序设计语言》。
接下来推荐的这本书《C陷阱与缺陷》,虽然被誉为经典,但是我自己认为读完后收获不能算太大,所以说没必要刻意去学习,不过有多的时间也可以阅读一下,书内容很少,两到三天就能看完整本书。
既然是C++的学习路线,那么《C++ Primer》这本书肯定是必学不可的,这个就不用不说了,不过书的内容相当多,印象中有800多页,我大概花了一个月左右时间才学完。
学习玩了C++的基础知识,当然就需要进行延伸了,接下来就需要看这本书《Effective C++》,很经典,相信学习C++的人几乎都是人手一本,书中讲了很多C++使用条款,教你如何更高效地使用C++。
C++的C语言最大的不同当然就是C++支持面向对象的设计方法,所以,学习C++面向对象的语法和使用当然就是必须的,这里推荐经典《深度探索C++对象模型》,里面讲了虚函数的实现原理,函数重载实现原理等很多重要知识。
个人认为STL是C++的精髓,因此,学习STL是必须的。推荐经典书籍《STL源码剖析》,这本书主要学习前面部分内存的分配,容器的实现原理。
学完了这些之后就对C++的基础掌握的很不错了,接下来就需要学习一下C++体系结构里面另外一些重要的基础知识了。比如操作系统。这里推荐一本最经典的操作系统书籍《深入理解计算机系统》。这本书我觉得适合反复研读多变,因为很难做到看一次就掌握书里的所有内容。
操作系统是必须掌握的基础知识,当然还有一项必须掌握的基础知识,那就是计算机网络了。推荐这本书《TCP/IP 详解 卷1:协议》。
当然,我们还需要了解一些常用的数据结构和算法。推荐《数据结构与算法分析 C语言描述》,其实说实话用这本书入门难度有点偏大,需要耐心学习。
到这里,我们整个基础体系就学习得差不多了。但是C++的应用方向大多都是后台或者服务器开发,所以我认为必须要学会Linux系统,甚至压根不要在Windows环境下编程,多使用Linux系统。学习Linux首先需要学习基本操作,入门首选书籍《鸟哥的linux私房菜》。
掌握了基本操作,我们就要学习在Linux环境下进行编程,推荐经典《Unix环境高级编程》,《Unix网络编程》两套系列书籍,加起来总共三本。
以上就是我总结出来的C++学习路线,个人感觉还是很不错的,应该是适合大多数想要学好C++的人,一起学习一起进步。
更多推荐
C++ 学习路线推荐
发布评论