毫无疑问,学习C++是一件痛苦的事情。

  我大概十年前接触C++。那是在学校里,准备考研究生,某学校要求考C++。我就开始一点一点学习,学习的过程还是比较舒服的。不得不说,就古典C++的理论,钱老讲的还是很好的。但是主要是能完成“Hello, World!”的几个版本而已,而这对于应考来说是足够啦。虽然我最后未能直接读研,但自觉C++理论我还是学得不错的。

  05年毕业遇到了两个尴尬事。第一件事是我去一家公司面试开发,要求写一个1+1=2的有界面的程序,结果被鄙视啦。俺只学过C语言,没有开发过任何有界面的程序(Matlab不算的话),因为俺是数学系毕业的。第二件事是,我终于找到工作,但面临相同的问题。好的一点是,领导给我两个月学习。我经过两个月的艰苦学习,终于,败下阵来。搞了半天连MFC的main函数在哪里都不知道。总是觉得好深好深,像一个无底洞一样。找不到开始,也找不到结束,跟我理解的C语言差距太大啦。最终被领导拐骗到C#上啦。C#实在是太可爱啦,就像是Q版的C一样,一切井井有条,简简单单。

  十年来,我对C++怀着极其复杂的心情。讨厌它,因为我在它面前败下阵来;恐惧它,因为它深不见底;向往它,因为它是一座高峰!

  十年后的今天,因为工作需要,我被迫必须使用C++。我再次向C++发起了进攻!主要有四个步骤:买书、啃书、加入QQ讨论群、修改C++产品代码。

  买书。买什么书是个很讲究的是,实际上这也使决定成败的一步。我的感触是——“没有学会一门技术,要么这门技术还不迫切需要,要么没有找到一本合适的书”。在迫切需要这项技术的前提下,我急需找到一本好书。翻遍各种博客论坛,我最终决定买《Visual C++ 2012 入门经典》这本书。事实证明,我得决定是明智的,除了这本书太厚以外。呵呵。

  啃书。这是必经的阶段。我看书一向很慢,我一步一步,如履薄冰。一页一页看,生怕漏了啥东西,后头看不懂。关于厚书,我有一句名言“书非拆不能读也”——拆一章看,看完再拆一章下来。这样容易打消看书的恐惧感。不过还保存好看完的那些章,最后把这些再订起来。这方面我的感谢我的老婆,她最后总是把我的书订好,订得跟线装书似的,比原装的还漂亮。言归正传,看书不能光看,还要练习,就是把书上的例子一个字母一个字母的录入IDE中,编译,运行。感受这些理论和代码。这里还有一句名言——“Pratice makes perfect”,与君共勉。

  加入QQ讨论群,群里不一定要有大牛,只要有热心的同行者、过来人就行。我特别感谢“C++/C#技术交流”群里的马东同学,他屡屡三更半夜回到我的问题,帮我答疑解惑。这极大地鼓舞了我的信心,让我没有像八年前那样郁闷、溃逃。

  修改C++产品代码。写在最后,但这不是最后做的事情。上班就要工作,工作就要写代码。虽然还不是太熟悉,但是必须得写啦,哪怕是一天写几行。然后不断学习,不断重构,直到必须结束。

结语

  好的开始是成功的一半,借发哥一句广告词“我才刚刚上路呀”!

最新文章

  1. x-ua-compatible的实践
  2. 制作CocoaPods依赖库最后步骤修改
  3. php文件上传参数设置
  4. php之属性重载和方法重载
  5. 【安卓面试题】简述一下Android系统的架构?
  6. [BILL WEI] stimulsoft 分组页眉页脚的使用
  7. ehcache 使用笔记
  8. [HAOI2007]上升序列
  9. 最小费用最大流(luogu P3381 【模板】最小费用最大流)
  10. wamp apache 设置多端口
  11. 小飞侠带你精通Python网络编程系列03-Python版本的选择
  12. 从已删除邮箱copy数据到活动邮箱
  13. unp学习笔记——Chapter1
  14. 【BZOJ-1913】signaling信号覆盖 极角排序 + 组合
  15. 对dump的文件进行状态统计
  16. C++中new申请动态数组
  17. ajax的坑
  18. 记一次400错误引发的血案(URL中特殊符号的转义/400 bad request错误)
  19. Fiddler配置
  20. 编程之美 set 4 找到符合条件的数

热门文章

  1. Hibernate映射之OneToOne(第二篇)
  2. mac os安装基本的install环境,命令行安装软件
  3. 从NullObject谈C#6.0改进
  4. 设计模式之美:Command(命令)
  5. Lambda应用设计模式
  6. 【转】URL的井号
  7. Spec模板
  8. 实验六 序列信号检测器的VHDL设计
  9. RabbitMQ(四) -- Routing
  10. mobilebone.js使用笔记