程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-10(9)

2021-11(18)

C/C++语言学习的策略

发布于2019-08-06 10:00     阅读(452)     评论(0)     点赞(4)     收藏(0)


知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

断章取义

       C语言出现50年了,有很多内容已过时,至少有百分之二十的内容没有实用价值。

       C++更过份,对程序员来说,至少有百分之七十的内容没有实用价值。

       Linux系统也是,命令上千个,对程序员来说有用的不超过50个。

       人的精力是有限的,没必要去折腾那些没有实用价值的知识点。各位当中有些人可能已经有基础,会发现在我的课程中会缺一些内容,如链表、排序算法、二叉树、红黑树、C++的输入输出和流、stl等,缺了是因为这些知识没有实用价值,学了之后除了用来吹牛别无用处。

       现有的C/C++的教材中,大部分是教授写出来的,没有几本是程序员写出来的,毫不夸张的说:没有经过实战的教授在精英程序员面前,始终就停留在小学生水平。

       我学习C语言是从谭浩强的《C程序设计》开始的,这本书过时很久了,谭浩强已经仙逝多年,他的书也应该随他一起进入天堂,不应该成为出版商赚钱的工具。

       《C Primer Plus》和《C++ Primer Plus》这两本书写得不错,作者功力深厚,每本书有1500多页,拿在手上非常有份量。但是,在我看来,实在是太啰嗦,只介绍知识,没有重点。

       网上也有不少视频教程,但是,大部分的教程只是把书本上的内容搬到视频中,没有新意。

 

培养程序员的感觉

       在自然界,每种动物都有它们交流的方式,山中的野鸡、树上的小鸟,如果懂得它们的语言就容易抓住它们,只是普通人不知道而已。

       与人类的语言相比,动物的语言非常简单。

       与人类的语言相比,计算机的语言也很简单,初学者认为难是因为不适应,不习惯。

       所以,对初学者来说,培养写程序的感觉是最重要的事情。

 

如何培养程序员的感觉

       首先,程序员是写出来的,不是看出来的。

       去过紫禁城的人都知道,不管你有多么聪明,绕多几个弯,迷路是大概率的事情,但是,那些在紫禁城中搞卫生的工人一定不会迷路,是你不如搞卫生的工人够聪明吗?肯定不是,是你不习惯,不熟悉。

       各位在网上看过的美女图片或视频成千上万,不管看什么样的美女,你肯定是脸不红心不跳,但是,如果有一个美女真的出现在你的面前,估计你会手足无措,言语结吧。

       一个知识点,看懂的难度如果是一,自己实现的难度就是三,熟练使用的难度是八,融汇贯通应用在项目中的难度是十。就像是练武学招数,看别人打很容易,自己练习就难了,各种招数融会贯通和对手实战,需要时间的积累。那些《从入门到精通》的教材都是屁话,屁话为什么也有人信,原因很简单,它利用了人性占便宜走捷径的弱点。如果真的能从《入门到精通》,程序员就不值钱了。

       任何事情,不管看多少遍,都不如做一遍。写程序也是这样的,编程语言并不难,而是你不了解,不习惯,不熟悉。有些人还可能会害怕动手。

       看别人的程序,看别人写程序,和自己动手写程序的感觉是不一样的,就像网上的美女和现实中的美女一样,那感觉是完全不同的。

       怎么做?行动起来,多写程序,就习惯了,熟悉了。开始的时候,写出的程序很垃圾也没有关系,大家都是这么过来的,天赋异禀的人是极少的。就像画家,我从未听说某画家从小就是画家,他们小时候画的画和平常人画的也没什么区别,达芬奇不也是从画鸡蛋开始的吗。

       其次就是应用的经验了,应用的经验要通过做项目积累。

       在有些的C语言教程中,经常让学生用C语言去做一些与实际开发无关的题目,最讨厌的是数学题,这是最大的败笔,因为要完成这些题,考的是数学方面的知识而不是程序员的知识。

       我回忆起当年我是菜鸟的学习过程,详细了解初学者的困惑,把C/C++语言的基础知识做了总结,每个知识点写一篇文章,约50篇。

       在我的教程里,安排了很多课后作业,课后作业有两个目标:一是培训学生写程序的感觉,熟悉写程序的方法;二是巩固所学的知识点。还有,我的课后作业是实际开发的需求为导向,作业内容是程序员常用知识和编程技巧。

 

学习步骤

       企业对C/C++程序员的需求中,至少70%以上是Linux系统平台下的C/C++程序员,所以本教程的开发环境为Linux,Linux的开发环境会让初学者不适应,不习惯,但这是正确的方向,我不可能为了迎合学生的喜好选择windows平台。

1、基础知识的学习

       基础知识包括C语言基础、C++语言基础和Linux编程基础。

       本阶段重点在培养写程序的感觉和介绍C/C++程序员在日常工作中经常用到的知识。注意,培养写程序感觉比C/C++的知识点更重要。

       我个人认为学习C/C++语言,如果是零基础,最艰难是基础阶段,这时期学生还不具备程序员的思维,也没有写程序的感觉,沟通比较费劲,用广东话说就是鸡同鸭讲。

       学生有了写程序的感觉,上了道,就会慢慢顺起来。

       基础知识的学习大概需要两到三个月(全日制)。

       学习完基础知识之后,如果你的年龄在23岁以下,我建议你先去找工作,工资低一些没关系,只要能养活自己就行了。在我看来,先进入这个行业,有公司给你发工资,有实战的环境,边工作边学习是最好的方案,生活没有压力,学习更有动力。(23岁以下的年龄,是大学生毕业的年龄,在这个年龄段,不管是哪个学个毕业的,大家都是菜鸟,不懂是正常的,如果你在面试的时候表现出积极上进态度,找个实习的岗位不是太难的事情。)

       如果你的年龄到了25岁,学习完基础知识之后就去找工作可能不好办,因为你的年龄与能力不符,公司未必会要你。(年轻人不懂很正常,年纪这么大了还不懂就不应该)

2、职业技能的训练

       第二阶段的学习内容以实际项目的需求为导向,把学生培养成职业的程序员,以能找到工作为目标,时间大概需要两到三个月。

       在我的课程中,不玩俄罗斯方块,也不玩打地鼠、贪吃蛇、球球大作战等无聊的东西。

       企业对C/C++程序员的需求中,数据通信、数据处理和数据仓库的职位占了至少50%以上。

       所以,我们要玩数据。

       在我的基础课程中,有socket通信、多进程、多线程的课程,但这些都是基础中的基础,离实际开发还差得太远。

       本阶段的学习以掌握工具的使用为主,包括我的开发框架和工具,提升socket通信、多进程、多线程和数据库的实战技术,数据库以Oracle为主(My SQL太业余),完成一个实战项目的开发(数据中心项目),还可以扩展到手机APP项目,丰富自己的项目经验。

       通过本阶段的学习,大概可以达到我20-30%的功力,技术水平可以超过三年工作经验的程序员,项目经验约一至两年。

学习完成后,不管你是什么年龄,都去找工作,问题不大。

3、精英程序员

       各位在工作之后再来进入第三阶段的学习,在本阶段,我将重点介绍我二十年来的实战技术和项目经验。主要包括以下方面:

       1)提升程序员的工作效率;

       2)提升服务程序的效率;

       3)提升服务程序的稳定性;

       4)丰富项目经验和实战技能;

       5)突破程序员的瓶劲。

       本阶段的目标是提升程序员的能力,培养以一当十的精英程序员。

       有没有万人敌的技术? 有,还真有。有这么一句话:流氓不可怕,就怕流氓有文化。如果能理解这句话的含义努力的学习文化,你必定成为精英,否则就是程序猿,一世为奴。

 

初级阶段的学习方法

       1、先把第一章到第十七章的视频全部看一遍,大概了解一下,因为有很多知识是交叉的,但是不要看课后作业。

       2、再把第一章到第十七章的视频内容学习一遍,争取完成简单的课后作业。

       3、再再学习《gdb调试》章节,在写程序的时候会用到它。

       4、再再再把第一章到第十七章的视频内容详细的学习一遍,争取完成全部的课后作业。

       5、之后的内容,最好是一步一个脚印走下去,如果有什么不懂的地方,或以向别人请教或在QQ群中提出问题。

       6、我的课程内容是精心整理的,某些知识点可能没有提到应用场景,但绝对不会是没用的知识。课程中没有提到的知识可以了解一下,但不必深入学习,意义不大。

       7、学习不要贪快,欲速则不达的道理大家应该明白,学习的重点是培养写程序的感觉。

       8、不要记笔记,不要记关键字,不要记函数的参数,忘了就忘了,忘了是因为没有实战,所以,到了项目实战课程的时候,忘了内容很自然的会全部想起来。

       9、不要用手机看视频,看着看着就想睡觉,学习的过程是边看边写,没有看出来的程序员。赵括,知道不?就是那个空读兵书的那个不成器的家伙,只看书看视频不写程序,和赵括没什么不同。

       10、翘着二郎腿,嘴里叨着烟,挥舞二指禅,一副吊儿郎当的样子,是成不了程序员的。

       11、可怜之人,必有可恨之处,已经过去的就算了,不要埋怨,也不用后悔。端正态度,现在开始学习还来得及。将比别付出更多,这很公平。

 

关于视频教程

       我是职业的程序员,不是职业的讲师,职业的讲师把同一个内容讲了n次,想不熟都不行。

       在我的视频中,我一边讲一边写程序一边思考,肯定不会像职业讲师那么流畅,还会结吧,这是没有办法的事情。

       我会尽可能把知识点讲好,如果大家有不明白的,希望在QQ群中提出来,我会补充视频。

 

学习交流

       我建了一个QQ群701117364,有决心想学习的人可以加入,群中有学习资源,也欢迎高手加入。



所属网站分类: 站长公众号

作者:iuie9493

链接:https://www.pythonheidong.com/blog/article/7387/374495e429b1c4e9e0c2/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)