我又不找C 语言的工作,为什么要学C语言 ?学习C语言的意义在哪里呢,怎么样才能学好C语言呢?
C语言是最好探索编程世界的入口,有助于让你探索到编程的本质、智能的本质 ,学通编程的世界,会让你越活越轻松、越老越吃香 。
很多学编程的人认为,特别是初学者会认为:“我又不找C 的工作,为什么要学C ?”
其实答案不在于你做不做C 的工作,而在于你做不做编程行业的工作。道理很简单,打个比方如果你听到这样的话,估计你也晓得为什么了。“我是数学老师,不是语文老师,所以我不要学语文”这话看似正确,其实当你语文不好,你的数学表达能力也就欠佳,你的数学也难以成就多大,至少你表达不清,沟通不行,很多灵感的产生来源也就被抹杀了。
很多时候,并不是我们做什么就只学什么,特别是在编程这种科技行业。因为科技行业是客观的,涉及到一个现实功能的开发,它不会给你区分你必须要用C++,还是必须要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 ,很多的时候都是在自我修炼,修身养性,就像练成葵花宝典都需要闭关修炼一样。学通编程,很多时候也都需要闭关修炼...需要灵感,需要智慧,所以我把现在的对编程的感悟,以及做的编程的作品,都给了个新的名字:灵感编程。
当你学通的时候,你可以在未来任何时候爆发,比如:因为你学通了编程,所以未来什么语言火了,你可以立马转过去,总是走在前列,而且走的是那么的轻松自在......
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
(责任编辑:IT培训网)