C++学习路线
C++在工业软件、底层系统软件、数据库、交易系统、游戏开发等大型核心软件上扮演着至关重要的角色,同时它也是科研领域最重要的编程语言(和Python配合),是每一个有追求的计算机、理工科人才都推荐学习的编程语言。C++不仅是读研读博最推荐学习的编程语言,同时也是目前所有编程语言最有成长空间的。嵌入式开发也是目前国内非常不错的就业方向。
学前注意事项
C++只推荐计算机、理工科专业的学生学习
尽管C++可以说是“国之重器”,但是它不适合绝大多数人学习。一是,国内很少有企业从事底层系统开发,国内工业软件也几乎是空白,由于就业机会少,选择C++就意味着更内卷;二是,和其他编程语言如Java、JS/TS不一样,C++很多就业岗位通常需要非常扎实的数学、算法功底,如果你不是985以及计算机211名校的学生,或想读研读博,通常不建议选择C++方向;三是,C++在后端开发、桌面端开发等领域的岗位被Go、Java、JavaScript侵蚀严重。
对于想转行的学生来说,如果你之前不是211理工科背景,基本不推荐学习C++,一是用人单位会卡你学历,让你就业更加困难;二是,学Java、前端开发(JS/TS)不仅更加容易,而且付出同样的努力待遇也会更高。
C++就业考核的内容更强调基本功
很多时候,C++就业考核的侧重点都不会是你对C++这门编程语言掌握的水平,而是你对计算机专业的核心课程的掌握程度,这部分内容强烈建议你去CS名校计算机课程,计算机核心课程通常被称为“四大件”:
-
计算机系统:这个领域涉及计算机硬件的基本结构,包括中央处理器(CPU)、内存、输入/输出系统等的设计和优化。它也包括了理解计算机如何在最基础的层面上运作。
-
操作系统:操作系统是管理计算机硬件资源的软件,它为计算机程序提供了一个执行环境。这个领域的学习包括理解操作系统的基本组成部分,如进程管理、内存管理、文件系统等。
-
计算机网络:这个领域涉及计算机之间的数据交换和网络通信原理,包括网络架构、协议、数据传输、网络安全等。
-
编程语言和算法:这部分包括学习各种编程语言(C++就业方向主要掌握C/C++和Python)的语法和使用,以及算法的设计和分析。
不同方向,C++需要掌握的重点也不同
C++和其他编程语言不一样,它的不同就业方向需要掌握的内容也有很大区别,不像Java掌握Spring Boot生态开发、JS/TS掌握全栈项目就行,而是需要你能够针对不同方向下不同的功夫。当然对于计算机专业的本科生来说,你学好计算机核心课程就可以了,至于不同的方向,你可以进企业之后再来学习也不迟;对于研究生和理工科专业的学生来说,你学习的方向与就业方向的契合会让你更具优势,这也是其他编程语言不具备的。
做opengl方向,游戏引擎、建模软件、医疗软件。
做opencv方向,图形处理软件,算法数据处理软件。
做物联网方向,车载物联软件、智能家居物联软件。
说实话,我也不清楚,近2022这几年整个互联网都不景气,裁员的裁员,降薪的降薪。我的前同事有的去了新能源汽车,有的转去做直播音视频行业,这两个方向还行,至少没听到他们公司有裁员消息。也有些行业不太行了,曾经的安防三巨头也裁了一大批人,被美国佬制裁了,过得也不行。游戏行业好像也不太行了,我老同学公司裁了一大半人。我现在做3d方向,虚拟人相关行业,前几年风口很热,现在也平淡下来了。说不准以后哪个行业会火,建议你先找到自己喜欢的领域深耕,先积累起来,慢慢等风起。