教你21天学会C++

  理论是可行的,当你刚开始学习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++。

时间: 2024-10-01 05:18:44

教你21天学会C++的相关文章

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 03 The Basic

import Foundation //*********************************************************************************************** //1.The Basics(基础) //_______________________________________________________________________________________________ //介绍 //Swift 的类型是

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 01 About Swift

import Foundation /* Listo Han 出品 Swift 编程攻略 攻略参考:<The Swift Programming Language> 攻略适用:本攻略适合 Swift零基础,但要有至少其他任何一门编程语言基础,熟悉程序语句的用户 攻略格式: 知识模块://***********************************************************************************************/ 模块细节://_

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 02 Swift Tour

import Foundation //*********************************************************************************************** //1.Hello world //_______________________________________________________________________________________________ //输出 "Hello, world&q

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 04 Basic Operators

import Foundation //*********************************************************************************************** //1.Basic Operators(基本操作符) //_______________________________________________________________________________________________ //简介 //操作

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 24 Generics

import Foundation //*********************************************************************************************** //1.Generics(泛型) //_______________________________________________________________________________________________ //介绍 //泛型代码可以让你写出根据

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 25 Listo&#39;s Conclusion

import Foundation //*********************************************************************************************** //1.Listo's Conclusion(Listo 的编写总结) //_______________________________________________________________________________________________

告别1人年,教你21天搭建推荐系统!

免费开通大数据服务:https://www.aliyun.com/product/odps 活动预告:为了让大家更好的了解如何在21天快速搭建推荐系统,特邀请本文作者.阿里云技术专家郑重(卢梭)开展一场线上课程,报名地址:https://yq.aliyun.com/webinar/join/14,时间6月16日晚20点直播. 本文作者为阿里云技术专家郑重(卢梭),主要分享内容是如何在21天内快速搭建推荐系统.推荐系统的搭建是个复杂工程,涉及到实时计算.离线计算,以及各种数据采集.流转等,对自建推

《21天学会C++》学习笔记第7章控制程序流程

1.迭代意味着重复做同样的工作.迭代的主要方法是循环. 2.while()循环,do...while()循环,for循环, 3.注意do...while()循环的do是真的要出现的,不仅仅是一个标志而已: 1 #include<iostream> 2 int main() 3 { 4 using namespace std; 5 int counter; 6 cout<<"how many hellows"; 7 cin>>counter; 8 do

《21天学会C++》第8章阐述指针学习笔记

1.C++一个强大而低级的工具是,可以使用指针来直接操纵计算机内存,这也是C++相对于JAVA.C#和Visual Basic等语言的优点之一. 2.什么是指针?指针是存储内存地址的变量. 3.能够使用指针以及在底层操纵内存是C++被选择用于编写嵌入式和实时应用程序的原因之一. 4.指针定义的时候一定要初始化,没有被初始化的指针被称为失控指针,是很危险的. int *pAge=0; pAge被初始化为0,值为0的指针被称为空指针. 5.指针和数组名:在C++中,数组名是一个常量指针,指向数组的第