《C语言从入门到精通》、《21天精通Java》这样的书名或者课程名在我上学的时候非常流行,但是大部分人都认为这是标题党,甚至有的人还戏虐:这明明就是从入门到放弃,从入门到懵逼。但确实一小部分人真正做到了,所以这就很有意思了,这也是编程的特点,同样的时间,同样的内容,可能学习的结果是差异的很大。虽然这些书是好书的可能性很小,但是有时候也不是别人标题党,只是有的人做到,而你没有做到而已,然后你就说人家标题党,难免有点以偏概全。
说这些是想说明一些东西的难易是因人而异的,怎样从入门到精通呢,自我因素很重要,你的方法,你的态度,你的环境……这些都很重要。所以遇到问题,要及时调整,善于反省。
下面我围绕之前一位公众号读者的留言,说说我在自己在学习编程中遇到困难和体会。我一直认为自己不适合学理科,因为高考的时候数学都没有及格,我最喜欢语文,可惜当时只能报计算机专业,想想我学习计算机的经历,确实有太多的坎坷了。
我想我应该是那个时候少有的性格极其内向的孩子,所以我能走到今天,真的非常感慨。在计算机学习上我的脑子和手都特别不灵活,如果你让我写作文的话我很快就就能写出长篇大论,但是写起代码就非常的吃力了,键盘打字的速度都非常慢。那段时间我非常苦恼,常常怀疑自己,当时我还差点被劝退已经加入的一个软件学习小组,这应该是我最困难的一段时间,自己能明显感觉到自己的脚步比别人慢。
我是如何度过的呢,很简单,就是不要放弃,积极主动的去找他人请教,不要重复犯错,但要勇于尝试。编程学的是一些开发语言,其实和学英语非常像,你可能从小学、中学、大学学了十几年的英语,但是还是不会说不会写,完全是哑巴英语,但是你看哪些喜欢读英文原版书的人、不断练习口语,寻找表达环境的人,他们的英语绝对不会差。编程亦是如此,你必须去用,去实战练习,你才能越来越熟练,进而掌握它。
你要学习的东西其实是一张网,刚开始的过程是就是把一些点和线串起来,不要纠结那个点里面是什么原理,等这张网串好之后你能很容易理解哪些点了,这个阶段,学完最重要,你需要快速度过这个学习的不适期,不然你会慢慢失去耐心和兴趣。练习的时候也是一样,一个完整的作品比一个半成品好太多了,不仅仅是成就感,更多的是你对所需知识的全面运用,你不要做一个特别复杂的项目,仅仅用你所学的知识做一个完整的作品就行了,这很重要。
后期要做的东西可能越来越复杂和庞大,这个时候需要你学会设计和分解任务,不然就可能卡在一个问题上很长的时间,或者不得不推到重来。我们都听说过程序设计,设计是编程最重要的能力,结构设计、功能设计、界面设计……你都要考虑到,思路一定要清晰。之后就可以去分解这些东西,看那些东西可以先做,哪些东西可以最后去优化和补充,哪些东西是可以公用的,复用的,哪些东西是核心模块,可预见的坑有哪些,需要做哪些防范。之后就是要做一个mvp(最小化可行性产品),有余力的话继续迭代。
做任何东西,都要把它当做一个产品去做,去打磨。至于心态,一定要保持耐心和好奇心,最好能一群与你一同进步的人互相学习和鼓励,要是能有一位给予你指导的人就更好了,千万不要给自己贴标签,认为自己不适合做什么什么,在我看来这就是一种懦弱,绝对不要给自己设限。
此文来自公众号-己见录,原文链接: 从入门到精通
网友评论