我又不找C++的工作,为什么要学C++?你如果这样想就错了...

本文探讨了为什么即使不从事C++工作,也应该学习C++。通过比喻说明,学习C++能够提升综合编程能力,帮助理解编程和智能的本质。学好C++不仅关乎语法,更是关于面向过程和面向对象编程思想的理解,以及数据结构、算法、编译原理等底层知识的探索。同时,文中提出学好C++应涵盖C语言基础、面向对象、泛型和模板机制、STL、Boost库、项目实践等多个方面。
摘要由CSDN通过智能技术生成

文章来源:连嘉玮

很多学编程的人认为,特别是初学者会认为:“我又不找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),几下子,问题解决,报酬上万...

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

所以:要活出质量!

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

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

 

最后,如果你也想成为程序员,想要快速掌握编程,赶紧加入学习企鹅圈子!

里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”

编程学习书籍:

编程学习视频:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值