--支持你成为受人尊重的专业人才
武汉北大青鸟学费
武汉北大青鸟热门专业
武汉北大青鸟金牌教员
武汉北大青鸟就业保障

开班信息

在线报名

免费讲座

招生问答

武汉北大青鸟 > 学员专区 > 学习园地 >

优秀的C++程序员都具备哪些能力?

2016-01-08 11:11:10   来源:武汉北大青鸟光谷校区
    【本文源自网络,由武汉北大青鸟光谷校区小编整理发布】C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高,而它的学习难度,主要来自于它的复杂性。现在学习 java、C#等语言的人数远远高于C++,主要是 C++ 的入门门槛太高,可能学习了一段时间后还做不了什么东西,导致信心大受打击,进而放弃。本文分享了C++资深程序员的一些经验,希望帮助新人少走些弯路。在此我们不讨论具体的技术细节,只说我们应该学习什么东西。
 
    一、技术能力
 
    1.语言
 
    我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习,而学习语言最关键的莫过于选好一本书,学校的教材就算了,根本没有写得好的。在此隆重推荐《C++ Primer》,这本书很厚,内容也很丰富,对知识的讲解不仅仅停留在表面。如果这本书能有耐心看完,语言方面基本就没有什么大问题了,对以后的学习也打下了一个很好的基础。
 
    2.GUI
 
    C++方面的 GUI 库有很多种,比如 MFC、WTL、wxWidgets、QT。这些 GUI 库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种 GUI 库,需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。MFC 虽然设计上有很多问题,但是作为入门还是不错的, 而且学习资料很多,碰到问题也好解决。
 
    3.数据结构和算法
 
    很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好,几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。但是,当我们想让我们的程序跑的更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。
 
    最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。推荐《数据结构(C语言版)》,在数据结构和算法的学习中,最好不要去关心面向对象方面的技巧,就用C语言来实现,这样能更关注于算法本身的内容。
 
    4.数据库
 
    学习数据库的基础知识,并且掌握一种数据库使用,推荐使用 mysql,而且最好不要用一些封装好的接口,而应该直接用 mysql 提供的数据库 api,可能对数据库了解的会更深入。
 
    5.并行
 
    cpu 主频已经不能遵循摩尔定律了,现在 cpu 发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好的利用 cpu 的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。
 
    6.网络编程
 
    这里所指的网络编程是指 socket 编程。现在 C++ 的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。
 
    7.设计模式
 
    设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。
 
    8.库的使用
 
    C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库。最着名的恐怕就是被称为准标准库的 boost 库,它提供了我们编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。其它也有一些专着于某一方面的库,比如 ACE 是网络通信方面的,TinyXML 是解析 xml 的,OGRE 是图形渲染方面的。
 
    9.操作系统的知识
 
    程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识,windows 上的去看《windows 核心编程》,linux 的去看《深入理解 linux 内核》,应该可以知道自己应该学什么了。
 
    二、项目经验
 
    以上的内容如果都精通了,也算是个比较厉害的程序员了。但是对程序员来说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且能学到一些新的知识。比如说做游戏的就需要学习图形方面的知识,做播放器的要学习编解码器方面的知识。
 
    很多程序员会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有知道作用,实践能加深我们对理论的深入理解。
 
    三、沟通能力
 
    沟通能力是一个高级程序员要具备的软实力。这里想说的沟通能力并不是一般说的能说会道,夸夸其谈,说话天花乱坠,而是建立在技术基础之上的沟通能力。
 
    光谷北大青鸟专业老师指出,现在 C++ 的使用范围比以前已经少了很多,java、C#、python 等语言在很多方面已经可以代替 C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。
 
    作为华中地区知名的IT培训学校,武汉北大青鸟光谷校区采用技能+经验+素养的培养模式,致力于打造优质的编程开发人才。如果你对 C++ 、java、.net、C#等编程语言感兴趣,可联系光谷校区在线老师详细了解更多信息。
点击在线咨询
相关文章
[校区新闻]北大青鸟武汉千硕2017第三季度“自媒体之星”评选开始啦
[校区新闻]挺不过军训,怎么拼得过学长,说说军训那些事
[校区新闻]武汉北大青鸟:如何有意义的过好大学生活,你想好了吗?
[校区新闻]特别的教师节,美女校长带着全能班主任来直播
[校区新闻]喜报:千硕成为第二批湖北省服务外包人才培养基地
[校区新闻]谢谢“巨星”毛不易,让我想起曾经的自己!
[校区新闻]你那么难于自律和坚持,还怎么遇见更好的自己