时间:2022-10-09 18:11:28 | 浏览:1560
C++是我们程序员公认的最难学习的编程语言,特别是对于C++高级程序员,今年Java程序员不断增多,而相反的C++高级程序员就很少了,所以于整个行业而言,C++高级工程师的薪资待遇是相当不错甚至更好的。那么怎么去更好的成为一个C/C++高级工程师呢?我们接着往下看:
C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,JAVA、c#、Python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。
现在学习java、C#等语言的人数远远高于C++,主要是C++的入门门槛太高,可能学习了一段时间后还做不了什么东西,导致信心大受打击,进而放弃。
我想把我自己的经验分享给大家,希望帮助新人少走些弯路。
在此我们不讨论具体的技术细节,只说我们应该学习什么东西。
1.语言
我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习,而学习语言最关键的莫过于选好一本书,学校的教材就算了,根本没有写得好的。在此隆重推荐《C++ Primer》,这本书很厚,内容也很丰富,对知识的讲解不仅仅停留在表面。如果这本书能有耐心看完,语言方面基本就没有什么大问题了,对以后的学习也打下了一个很好的基础。
2.数据结构和算法
很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好,几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。但是,当我们想让我们的程序跑的更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。
最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。
推荐《数据结构(C语言版)》,在数据结构和算法的学习中,最好不要去关心面向对象方面的技巧,就用C语言来实现,这样能更关注于算法本身的内容。
3.GUI
C++方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。这些GUI库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种GUI库,需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。
4.数据库
学习数据库的基础知识,并且掌握一种数据库使用,推荐使用mysql,而且最好不要用一些封装好的接口,而应该直接用mysql提供的数据库aPI,可能对数据库了解的会更深入。
5.并行
cpu主频已经不能遵循摩尔定律了,现在cpu发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好的利用cpu的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。
6.设计模式
设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。
7.网络编程
这里所指的网络编程是指socket编程。现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。
8.库的使用
C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库。最著名的恐怕就是被称为准标准库的boost库,它提供了我们编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。其它也有一些专著于某一方面的库,比如ACE是网络通信方面的,tinyXML是解析xml的,OGRE是图形渲染方面的。
9.操作系统的知识
程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识,windows上的去看《windows核心编程》,LINUX的去看《深入理解linux内核》,应该可以知道自己应该学什么了。
以上的内容如果都精通了,也算是个比较厉害的程序员了。但是对程序员来说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且能学到一些新的知识。比如说做游戏的就需要学习图形方面的知识,做播放器的要学习编解码器方面的知识。
很多程序员会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有知道作用,实践能加深我们对理论的深入理解。
沟通能力是一个高级程序员要具备的软实力。
我这里想说的沟通能力并不是一般说的能说会道,夸夸其谈,说话天花乱坠。而是建立在技术基础之上的沟通能力。
希望对大家有帮助!
所以说,想要在程序员生涯内有更高的成就的话,最最重要的是尽可能的提升自己的编程能力,并且,与其想着怎么去提升,不如从现在开始动手动脑,如果对于C/C++感兴趣的话,可以关注+私信小编【C/C++编程】有一些学习资料希望可以帮助到你,学习不怕从零开始,就怕从不开始。
程序员这个“物种”自诞生以来,便有了森严的等级制度,划分标准十分复杂却又有规律可循。经常在网上的论坛里看到大家讨论程序员的级别,由于级别不同,薪水也是有着天壤之别。“码农”和“程序员”虽说是调侃,但实质上还是有差别之处的。下面,黑马君就来说
作者 | 王晓波,同程旅行机票事业群CTO【写在前面】不就是比尔盖茨吗?我从初中就开始接触编程了。那个时候正好处在世纪之交,所有人的思想都很活跃,我父母在那个年代觉得未来的世界肯定是科技的,虽然他们不懂什么是电脑,但还是花大价钱给我买了一台
2020年有职场专家指出:四千元的月薪,在国内算是中等的薪资水平。每个月能赚到四千块,就打败了一半的国人;如果每个月能赚8000~10000,那你就能跑赢90%的国人。这几个数字是怎么得出来的?我们可以从两个方面加以推测和论证。第一,全国最
程序员又名软件工程师,也可以说是码农,前者是学名,后者是自嘲,为什么说码农呢,意思就是敲代码的农民,从这句话应该就能看出,这一行业的整体状况,偏累!行业整体分类:服务端,包括java,php,python,C/C++等等,主要负责对数据的操
这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时间挣钱,这是最最最笨的一种方式。在我看来在公司打工是一种时间不可复用,且技能又不断重复的苦力活。比如很多程序员就搞起了副业,有些副业收入
到昨天为止,做程序员,已经整整五年。最近半年来,我时常思考我走过这五年,反思我的职业工作,反思我的生活,我选择错了很多,也做错了很多。有些道理,到最近才幡然醒悟,遂决定谈谈我个人对软件工作的看法,以及一些生活的感悟。苦苦攒钱的年轻人我还在苦
在我的很多文章下面,都会有一些小伙伴,留言说他迷茫,不知道后面该怎么走。刚入门的,觉得自学怎么这么难,怎么完全没有方向。工作几年的,自以为自己什么都懂了,不知道接下来应该怎么办。其实,在各个阶段,每个人都会有迷茫期。今天我们就来聊聊,一个菜
编辑:桃子【新智元导读】程序员「35岁定律」更像是圈内人的自嘲。近日,一位45岁程序员发帖称,「自己精通各种技术体系,却连个面试机会都没有」。据统计,不论是在国内还是国外,35岁以上的程序员占比最少,尤其在中国仅有9.4%。大龄码农真的如此
众所周知,与其他职业的人来相比,程序员使用电脑的时间更长更多。因此,更应该注意保护自己的眼睛,避免近视、眼睛干涩、慢性结膜炎等眼部疾病。那么,保护眼睛视力,应该怎么做呢? 广州军区广州总医院眼科主任邹玉平主任医师建议: 1、眼睛与电脑屏幕的