如何成为一名C++程序员

开发 后端
经常有人问我:如何成为一名C++程序员?面对网上数不胜数的入门教程,我该选择哪一个?高手们的经验之谈哪个是最适合我的?怎样才能成为一名C++程序员?我就谈下自己的看法。

  如何成为一名C++程序员呢?

  入门

  入门就是要初步对编程的思想有个了解,并且能编程解决一些小问题。入门一定要选好书,难度如果太低了会造成对读者的误导,以为编程就是这么回事;也不能太高深,免的打击读者的信心。既然编程的入门要求是编一些小程序解决小问题,那么就没必要直接学习C++,我觉得循环、判断、跳转、指针才是最基本的编程思想,学通了这些对以后学习C++很有帮助。

  我建议应该先把C扎实地学好,不光要掌握C的语法,因为学习编程的最终目的是解决实际问题,所以还要适当掌握把实际问题与编程联系在一起的能力,我推荐《 C程序设计语言(第2版) 》,这本书是C语言之父写的,不仅详尽介绍了C的语法,还提供了很多实际的小问题作为实例,可以说看了这本书之后能为以后的编程学习打下一个扎实的基础!

  提高

  学了《 C程序设计语言(第2版) 》后可以开始学习C++,一开始没必要钻很深的大部头书,《 Essential C++中文版 》非常适合初学,一个礼拜就可以看完,看了它可以快速对C++的全貌有个了解,虽然不会马上熟练掌握C++。

  我们不能满足于解决“百钱买百鸡”,真正实现程序还有很多非功能上的问题,比如怎样做才能使用更少的内存?怎样做才能更快?在熟悉一门语言后,一定要认真学习的就是数据结构!数据结构保证了我们的程序能以高效的方式运行。《 数据结构算法与应用C++语言描述 》是本好书,它提供了很多实际的例子,比如火车站调度、走迷宫,相比于“百钱买百鸡”这种问题又提高了一个层次。

  接下来专心提高C++的水平,可以选择《 C++编程思想 》,然后再看《 Effective C++中文版 2nd Edition 》和《 More Effective C++中文版 》,这两本书介绍了高效使用C++的宝贵经验,语言很幽默。至此,你已经可以自称是C++程序员了,恭喜!

  下面介绍几本书,有兴趣的朋友可以选读。如果想高效地使用C++开发软件,STL一定要学!《 C++标准程序库—自修教程与参考手册 》可以帮你学会STL的使用,而且开发时可以拿它做手册,有了前面数据结构的基础,学习STL的使用不会遇到什么困难。如果你还想知道STL的设计思想及原理,不妨看看《 泛型编程与STL 》。有些朋友可能会问,C++的面向对象机制是怎么实现的?《 深度探索C++对象模型 》给了你答案,它剖析了C++底层的实现。最后,如果想有一本C++大百科全书,那非《 C++程序设计语言(特别版) 》莫属!这本书是C++之父Bjarne Stroustrup的大作,算是书中权威。

  再提高

  到现在为止,你已经熟练掌握C++语言了,现在需要提高的就是设计思想,面向对象(OO)的最大特点是把我们的注意力从系统的执行体系结构转移到概念体系结构,因此利用OO开发大型系统会更轻松。但是经常可以看到人们拿着C++用面向过程的思想解决问题,缺乏的就是面向对象的设计思想,也难怪,在这里之前看的书都没有教你怎样用面向对象的方法开发系统,顶多介绍了面向对象是什么,看了这么多书难免会先入为主,《C语言程序设计》(或者你看的第一本编程书)中的思路潜在的影响着我们。这条鸿沟就由《 设计模式--可复用面向对象软件的基础 》来补救吧!所谓模式就是前人总结出来的、经过千锤百炼的一种系统结构,设计模式展示了23个经典的模式,通过学习、理解,你可以看到什么是真正的面向对象。

  看了《 设计模式--可复用面向对象软件的基础 》后,有时间不妨看看《 重构--改善既有代码的设计(中文版) 》,学了面向对象的设计思想后看它,可以站在一定高度重新审视一下自己的C++编程水平。

  结束语

  在学习编程的过程中一定要注意多实践!学习时到专业论坛同大家讨论是个不错的办法,你会找到许多热心的朋友与您一起学习,能通过学习编程交些朋友不是更好吗?最后,希望您能成为优秀的程序设计师,为中国软件的发展贡献一份力量!

【编辑推荐】

  1. 学习C++从哪入手?
  2. 如何成为一个真正的程序高手?
  3. 详谈C++游戏程序员发展前景
  4. 给C++初学者的50个忠告
  5. c++编程常用工具

 

责任编辑:韩亚珊 来源: 天极网
相关推荐

2019-01-28 11:54:28

程序员技能沟通

2015-05-15 10:39:44

Java 冠军程序员?

2011-11-09 13:52:04

程序员

2012-12-12 09:52:18

程序员

2011-05-03 08:54:36

2017-09-21 09:44:00

编程程序员软件开发

2021-02-21 13:49:48

Java程序员开发

2015-03-19 14:56:08

程序员专专家级的程序员

2022-09-30 10:32:59

API文档

2015-11-30 08:57:07

源代码阅读程序员

2015-11-30 11:01:07

程序员阅读源代码

2021-02-05 14:56:39

YouTube编程程序员

2011-03-07 13:51:01

搜索程序员

2011-05-23 15:18:34

程序员

2021-03-12 16:17:37

程序员 女性主义两性 价值观

2013-07-18 09:58:18

C++程序员

2015-06-04 11:31:36

程序员12周内

2013-08-30 10:06:13

2012-05-28 09:31:04

2020-05-07 15:14:10

程序员技能开发者
点赞
收藏

51CTO技术栈公众号