这张图,是在一位有十多年开发经验的资深前辈博客里看到的,觉得很有趣,分享之~ 这位大神的博客是:http://coolshell.cn
理论是可行的,当你刚开始学习C++,到第21天的时候出门千万要小心,哈哈。
看完您就明白,学习是没有任何捷径的,21天你可以掌握基本语法,但是如何去设计、架构、优化需要花十年或者更多的时间去探索,古人所说:“书山有路勤为径,学海无涯苦作舟”;
其实任何一门技术,不论是音乐、编程还是画画,如果没有超过十年的培养,都无法达到杰出的可能;
即使是4岁就显露出音乐天赋的天才莫扎特,他也用了超过十三年的时间才写出了世界级的音乐;
无欲速,欲速则不达。做开发最忌讳浮躁和速成~
举个栗子:
在柏林音乐学院,有一个班的学生曾被做过调研,报告指出:这个班的每个学生都是从相同的年龄开始练习音乐的(五岁的时候)。在开始的几年里,每人每周都是练习2-3个小时。但到八岁的时候,练习的强度开始出现差异。在这个班中,水平最牛的人慢慢开始比别人练得更多——在九岁的时候牛人每周练习6个小时,十二岁的时候,每周8个小时,十四岁的时候每周16个小时,并在成长过程中牛人练习得越来越多,到20岁的时候,牛人每周练习超过30个小时。20岁,这些优秀者在其生命中练习音乐总共超过10,000 小时!与之对比,其它人平均只有8,000小时的练习,而未来只能留校当老师的人,只有4,000 小时的练习。
《道德经》讲:其生也有涯,其学也无涯,以有涯伴无涯,殆矣。很多人知道前两句,不知道后两句;
这句话中的“学”,是指学习一个全新的事物,意思是说:人的一生都在学习,但生命却是有限的,唯有选定一个方向,不断深入学习,十年后你才会成为这个领域的专家;不要随意改变方向,如果换了新的方向,你用宝贵的年华换来的积累就付之一炬,换来换去,人生已到暮年。
虽然你可以半年掌握Java,但在这之后你还要花时间学习各种设计模式,以及学习随时都可能出现并广泛流行的新技术,比如Android、大数据;如果是做J2EE方向的则要学习各种框架,Spring、Struts、Hibernate;如果做大数据则要学 hadoop、Spark,以及Scala语言。
佛家讲:一门深入,长时熏修。
虽然要学的东西很多,但这些都是为同一个方向服务的,只要选定了方向,长时间坚持,念念不忘,必有回响~ 有限的时间就能创造无限的可能。
一开始你可能会觉得一门深入会有点困难,毕竟知道得越多越会感觉到自己的无知,幸好有一张C++学习的自信心曲线图,这张图可以让你看到乐观的未来(适用所有语言):
最初,你掌握了基本语法,可以轻易的写出一些小代码,此时你的信心爆棚,以为自己真是个天才~!
但当你深入接触到一些稀奇古怪、相当底层、晦涩难懂的复杂知识点后,学习自信心就会大幅下降、受挫、沮丧、怀疑自己,甚至开始靠人品编程,这个过程可能会持续一两年,毅力不足的童鞋可能就不想再学了;
但如果此时能找份软件开发的工作并继续深入,就会突然开窍:原来C++的世界不能乱来,要遵循一定的规则和方法~
最后通过大量的错误不断总结和反省,自信心又会慢慢建立起来,经过多年历练才能完全恢复自信~ 这个恢复的过程可能要四五年,曾经,我的一位C++老师对我说:“我C++已经学了四年,到现在还在学~”那年他正在读博士。
Linux之父Linus说:C++是一门很恐怖的语言,但比他更恐怖的是,许多不合格的程序员在使用C++。