page contents

不找C++的工作也可以学C++

很多时候,并不是我们做什么就只学什么,特别是在编程这种科技行业。因为科技行业是客观的,涉及到一个现实功能的开发,它不会给你区分你必须要用PHP,还是必须要JAVA的......
  • 很多学编程的人认为,特别是初学者会认为:“我又不找C++的工作,为什么要学C++?”,就像“我又不找C语言的工作,为什么要学C语言”一样;其实答案不在于你做不做C++的工作,而在于你做不做编程行业的工作。道理很简单,打个比方如果你听到这样的话,估计你也晓得为什么了。“我是数学老师,不是语文老师,所以我不要学语文”这话看似正确,其实当你语文不好,你的数学表达能力也就欠佳,你的数学也难以成就多大,至少你表达不清,沟通不行,很多灵感的产生来源也就被抹杀了。《少年包青天》有一句话:一些漫不经心的说话,将我疑惑解开。包拯破案,并不是所有技巧都是自己从头思考的,而是很多得以于别人的提醒,这是正常的思维逻辑。这是一个综合的范畴。你需要的是提升综合编程能力,而不是局限于某门编程语言,否则该门编程语言带出来的瓶颈,你无法超越。

    很多时候,并不是我们做什么就只学什么,特别是在编程这种科技行业。因为科技行业是客观的,涉及到一个现实功能的开发,它不会给你区分你必须要用PHP,还是必须要JAVA的......

    所以:社会上,复合型人才才是珍贵的,物以稀为贵。

    为什么是C++?

    C语言接近底层,它细节繁琐,难度大,阐述的是面向过程编程思想,难以用在现实中用户体验度良好的项目开发。它的角色就像在背后默默为你付出的其貌不扬的人,有她不觉得多,但是少了又不行。

    而C++的特点:是处在中层语言,下接C语言,上接PHP,JAVA等高级语言。它是最好探索编程世界的入口。

    那么,学C++的意义具体表现在哪里?

    当然好的C++编程开发者,找个高薪工作是做的到的。这算意义之一。这也是很多人为什么选择编程的理由。其实我很想问,如果编程不是高薪行业,还会有多少人去学?所以利益熏心太重,不是一件好事,它会阻碍你长得高看得远。所以,不要再找那些借口“我没时间啊”,“大家都那样”,“我得结婚”,“我得养小孩”,因为这些大多数人都经历过,选择平庸是大多数人的做法,你借口太多,接下来的结果就是“大家都在挣扎,我也应该挣扎”...但是你喜欢这样的结局吗?

    回报是需要付出的,在“想要”和“得到”之间,还需要“做到”。

    “把薄书读厚,把厚书读薄”,相信大家都听过这种学习方法,后者是很难做到,因为是需要博览群书之后的融会贯通的总结,是涉及到境界的提升,但也只有做到了后者,你才能得到解脱。所以编程人生的最好发展模式就是:进入编程,走出编程,超越编程。

    其实很难做到的是境界!

    所以我认为学C++的更大意义在于:有助于让你探索到编程的本质、智能的本质,让你从现实中去理解为什么需要面向过程编程思想,为什么需要面向对象编程思想。数据结构是什么,算法是什么,编译原理是什么,操作系统是什么等等更深层的东西......

    当一切都来的顺其自然的时候,你就会发现计算机前辈们的智慧了,你也就学通了编程,而不是只学通C++这门编程语言!

    那么,对于C++范畴,怎么样才算学好C++?其实这个问题应该问你。

    你可以这样的来扪心自问:不看任何C++的书,对一个不懂计算机的人讲述C++是什么?你能回忆起多少C++的东西?你能顺理成章的给他解释为什么要有面向对象这种编程思想?其实这也是督促你要学的灵活、学的融会贯通的一种学习方法。

    学好C++可以从这几个方面去检测:

    1:兼容C语言的部分;

    所以学好C++,必须以学好C语言为前提。同理:学好上层语言如PHP,JS,java,又必须要以C/C++为前提。违背这个原则,你会遇到无法超越的技术瓶颈。你的编程职业生涯就会打折。比如学PHP的时候,难度不在于PHP的if...else...这些语法,而在于比如PHP的面向对象,PHP的接口,数据库的优化,服务器的负载均衡,集群技术,网络编程等等。

    2:面向对象编程思想:类,继承,多态这些的产生渊源。

    3:泛型机制。

    4:模板机制:函数模板,类模板

    5:它的标准库STL里面的数据结构和算法,这些内容你主要是要知道它们有什么实现方案,虽然不要你去写,但是你要懂得来源,这样用起来才放心。如:怎么实现容器vector,list,map的?

    6:非标准库,如:Boost。

    当然也是它里面的数据结构和算法。这些内容它帮你写好了,你很多时候其实只是在使用接口而已。所以,熟悉它,是一件简单的事。关键是要探索它的实现方案。

    7:做几个项目,包括控制台的,图形化的,以及进一步延伸的QT编程。

    8:游戏编程,如:Cocos2d

    9:Linux操作系统

    虽然不需要你在Linux上开发,但是你要懂Linux,而它里面涉及到的东西就多了。比如进程、线程、管道、队列、消息、通信等等。

    学好C++,不是你开发了几个控制台程序,也不是开发了几个项目就可以宣告结束的,它是一个长期的战争,需要有打硬仗的心理准备。你要把它总结成一棵活着的知识树。这棵树的意义在于:当你几年过后,语法基本上忘记光了的时候,来看这颗知识树能瞬间找到感觉。

    这是一种境界,这种境界不是靠看过几本书、背了几个语法就能达到的,而是要思考,要领悟,要联想学习、时刻要想到怎么去融会贯通...

    所以学习C++,很多的时候都是在自我修炼,修身养性,就像练成葵花宝典都需要闭关修炼一样。学通编程,很多时候也都需要闭关修炼...需要灵感,需要智慧,所以我把现在的对编程的感悟,以及做的编程的作品,都给了个新的名字:灵感编程。

    记住:你学习东西不是为了别人学,也不是为了显摆而学,而是让你自己的生存竞争力提高,让你成为强者。否则在“弱肉强食、适者生存”的环境下,你会觉得很苦逼,苦逼到家,苦逼到无底洞......

    反过来,学通编程的世界,会让你越活越轻松、越老越吃香。谁都不想在30岁左右转型去做和编程无关的事情,只是被逼无奈,主要是学习速度跟不上知识更新速度,因为没学通......学通编程,你就可以像国外那些高手那样,专业而自由,不会因为年纪大而被迫改行,国外的高手都是头发花白了的,而国内就像吃青春饭一样,存下来的技术实力可想而知,是难以和国外的高手媲美的。但随着改革开放越来越深入,这种趋势只是暂时的,以后会是像国外那种情景:头发花白的一个老头,去某公司解决问题,什么也不带,两手空空,坐在电脑前,以迅雷不及掩耳之势玩转着黑不溜秋的屏幕(linux,unix),几下子,问题解决,报酬上万...

    人生都是几十年,别人工作一下抵得上你工作一年,他过的才是上等生活...

    所以:要活出质量!

    所以:现在无论你多大年纪,只要还不死,都可以有梦想去学编程。

    当你学通的时候,你可以在未来任何时候爆发,比如:因为你学通了编程,所以未来什么语言火了,你可以立马转过去,总是走在前列,而且走的是那么的轻松自在......


  • 发表于 2021-05-14 16:49
  • 阅读 ( 647 )
  • 分类:C/C++开发

0 条评论

请先 登录 后评论
五福
五福

12 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1320 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章