理论是可行的,当你刚开始学习C++,到第21天的时候出门千万要小心,哈哈。
看完您就明白,学习是没有任何捷径的,21天你可以掌握基本语法,但是如何去运用、优化需要花十年或者更多的时间,古人所说:“书山有路勤为径,学海无涯苦作舟”;
其实任何一门技术,不论是绘画还是编程,如果没有超过十年的培养,都无法达到杰出的可能;
即使是4岁就显露出音乐天赋的天才莫扎特,他也用了超过十三年的时间才写出了世界级的音乐;
在柏林音乐学院,有一个班的学生曾被做过调研:每一个人基本上都是从相同的时间开始练习的(在五岁的时候)。在开始的几年里,每个人都是每周练习2-3个小时。但是在八岁的时候,练习的强度开始显现差异。在这个班中水平最牛的人开始比别人练习得更多——在九岁的时候每周练习6个小时,十二岁的时候,每周8个小时,十四岁的时候每周16个小时,并在成长过程中练习得越来越多,到20岁的时候,其每周练习可超过30个小时。到了20岁,这些优秀者在其生命中练习音乐总共超过10,000 小时。与之对比,其它人只平均有8,000小时,而未来只能留校当老师的人仅仅4,000 小时。
我在初中时就对电脑产生浓厚兴趣,那时是2000年,家里没电脑,学校也没计算机课,互联网当时叫英特网,后来到高一才有了计算机课,接触了VB语言,拖拽控件很方便,经常带着一张IBM的软盘到机房上机练习;当时我还没想到买编程方面的书看,那时候很喜欢写作,爱看文学书籍;
04年高三毕业买了几本《计算机应用》杂志经常翻看,05年大一买了本《电脑报》合订本,后来就定期买《电脑报》和《大众软件》杂志,学到不少小技巧,06年大二自学C/C++,报了Java班,有时候出去到网吧就练习Java编程,06年年底爸妈给我买了笔记本,感恩爸妈;07年大三开设了Java课程,08年参加工作,专用Java语言做开发,到现在已过七年,工作期间做过CG用了一段时间Python,现在继续Java;
虽然你可以半年掌握Java,但在这之后你要花更多的时间学习各种设计模式,以及学习随时都可能出现并广泛流行的新技术,比如Android。
如果是做J2EE方向的则要学习各种框架,Spring、Struts、Hibernate。
做大数据则要学 hadoop、Spark,以及Scala语言。
《道德经》讲:其生也有涯,其学也无涯,以有涯伴无涯,殆矣。很多人知道前两句,不知道后两句;
这句话中的“学”,是指学习一个全新的事物,意思是说:人的一生都在学习,但生命却是有限的,唯有选定一个方向,不断深入学习,十年后你就会成为这个领域的专家;不要随意改变方向,如果换了新的方向,你用宝贵的年华换来的积累就付之一炬,换来换去,人生已到暮年。
一开始你可能会觉得深入一门很困难,这里有一张C++学习的自信心曲线图,适用于所有编程语言的学习,这张图可以让你看到乐观的未来:
最初,你掌握了基本语法,可以轻易的写出一些小代码,此时你的信心爆棚,以为自己真是一个天才~!
但当你深入接触到一些稀奇古怪、相当底层、晦涩难懂的复杂知识点,然后学习自信心就大幅下降、受挫、沮丧、怀疑自己,甚至开始靠人品编程,这个过程可能会持续长达一两年,毅力不足的童鞋可能就不想再学了;
但如果能找份软件开发的工作并继续深入,然后就会突然开窍:原来C++的世界不能乱来,要遵循一定的规则和方法~
最后通过大量的错误不断总结和反省,自信心又会慢慢建立起来,经过多年历练才能完全恢复自信~ 这个过程可能要持续三四年。
Linux之父Linus说:C++是一门很恐怖的语言,但比他更恐怖的是,许多不合格的程序员在使用C++。