随着智能时代的到来,大家都知道编程在未来会是一个很重要的技能。于是我们就看到了某天隔壁老王在看完新闻后,突然慷慨激扬,举手立志:
我要自学编程!
然后老王就开始购买入门书籍、下载网上教程、加入编程社区,忙得“不亦乐乎”。可还没过几天,就听到老王传来的愤怒的哀嚎:
Fxxk,不是入门书籍吗,这TM在说什么?
然后第二天,老王就把买来的书都卖给了楼下另一个想学编程的小王...
不知道大家有没有听到过这样的故事呢?反正我是听到不少。
那为什么会有这么多人学不会编程呢? 我想答案也许是,他们吃了那些错误认知的亏!
编程入门的4条错误认知:
学习编程必须要有天赋
学习编程必须“看”懂每一步,才能往前进
学习编程必须要扎实,要从基础原理学起
学习当中禁止直接复制粘贴代码或者抄袭别人的项目
2011年,我刚开始学习OC时,拿着一本入门书籍颠来倒去地看了一周,收效甚微。后来真正让我入门且快速成长的是我做了这么一件事: 我把当时cocoachina上面的代码例子区的所有代码都下载下来了,大概有200个左右,然后一个一个的运行,看代码,修改,运行,看代码,修改.....这个过程持续了大概两周,最后我从中挑出其中一些觉得有意思的效果,把这些代码段分别组合到我的练手项目中。 其实那些代码段我并没有完全看懂,但是我知道什么样的代码会出现什么样的效果,这就够了。 而那段时间,也让我感觉到了技术的突飞猛进,然后入门并开发了我的第一个IOS项目,从此走上了这条直男癌之路。
虽然我是计算机专业出身,但是我知道自己基础很烂。我在大学玩了四年游戏啥也没学会,逃过课,补过考,英语4级没考过,就TM连体育都差点挂科。
我刚开始学的时候,连要区分中英文符号都不知道,更别说看懂那些代码了,可我硬是把那一堆代码拼出了一个奇怪的Demo,当时觉得自己简直碉堡了!然后我把它拿给了我老板看,然后得意洋洋的对老板说:老板,你看,这是我写的demo。然后满心期待等着老板的赞赏。老板不愧是老板,果然他拍了拍我的肩膀说:丑死了,滚回重做。
哦,那时候我明白了一个道理:
亲生的不一定长得好看!
就这样,我一点一点的入门,一点一点的学会了编程。
现在想想,真是有一种从残疾人进化到手脚协调的感动啊!
其实再回头看以前的我,既没啥天赋,基础也不牢固,刚开始也就会复制黏贴代码,可是我依然凭借这这个方法学会了编程。所以,你们还能认为那几条认知是正确的嘛?
所以,我想说任何人都能学会编程,只要你有正确的心态和方法。
正确的心态:
不要脸——我就是抄别人代码,怎么了
不要扎实——我就是基础不好,怎么了
不要完美——我写的代码就是很丑,怎么了
正确的学习方法:
找一个高你十级的高手,让他教你一些常用的高频小套路——常用代码段,熟练掌握小套路,甚至要能背下来。
利用这些小套路,自制一个小程序,然后将它发给朋友炫耀,从中获得成就感。
利用成就感继续冲刺学习,把这些小套路组合成中套路,并根据需要学习新的小套路,此时你会发现,你的很多基础知识都在不知不觉间补完了。
最后一步就是,把中套路组合成大套路,应用到项目中。
刚开始一定不要花一大把时间去看基础,否则没几天,你的激情和耐心就被那些枯燥晦涩的基础知识消磨掉了。 你是要学会编程,不是要当编程大神,所以基础不扎实也没事,复制黏贴代码也无所谓。只要你想办法把你要的第一个小程序做出来,即使那代码全部都是抄的,即使那代码结构再丑、再难看、bug再多那又怎样?你能通过自己的努力,写出一个小程序,这已经远比其他人强很多很多了。
然后,不管学习任何东西,除了前期的学习初速度以外,还有另一个东西也是至关重要的,那就是成就感。一定要去炫耀,不管是发给你朋友、同事甚至是你老板,一定要想尽一切办法去获得成就感,因为这是你坚持下去很重要的一个因素,甚至可能是最重要的因素。
在我眼中学习编程技能并不是登山,而是拼图。找一个真正的高手帮你定出边界,这高手可以是一个人、一本书、甚至是一堆论坛代码,然后你再在中间快速的填充内容,这是最快也是最好的学习方法了。甚至,它试用于任何的学习任何技能。
最后,再教大家一个解决拖延症的终极方法:
骗自己。
当你想做一件很重要而内心又一再拖延的事时,你只要告诉自己:
我只做5分钟,5分钟一到就停下来。
然后你会发现,你TM根本停不下来。
也许这个方法听起来有点搞笑,但是相信我,这方法绝对好用,否则你们就看不到这文章了:)