这篇文章是写给那些真心要编程的人看的——那些憋着一股狠劲儿,一定要做出个什么真东西的人;而不是那些“听说编程好玩”的人。在我看来,这些人都不太可能真的整出个像样的东西来。
1. “高效的系统化学习” 无论从我个人经验,还是众多访谈的结论来看,只听大杂烩一样的公益讲课来学习编程是十分糟糕。断断续续的学习方式,你的脑子根本没机会养成编程式的思维方式,你很难把之前学习的内容捡起来。一定要把你的时间尽量系统高效地利用起来。 一种改善的方法是参加“系统班、暑期班”之类的项目;你不但要花整整九周时间,还要花费一笔不小的学费。这些付出可以对你有所约束,督促你学到东西。你必须全情投入,否则钱和时间就打水漂了。 2. 忘掉 Codecademy.com “我用 Codecademy 学会编程了!” 不知道有多少人这么说过了。但是如果持续的观察六到八个星期之后,这些人就都歇菜了。 我告诉你们为什么用Codecademy学习不长久: 你永远只是在浏览器里、在Codecademy网站里编程;学到JavaScript、Python、Ruby的语法是挺好,但是从课程里你也只能学到这些;其实这些你从别处也都能学到。 你不会学到如何搭建开发环境。就凭你在Codecademy学到的那点儿东西,哪怕你只想做一丁点儿的小项目,你都不知道该从哪儿开始。 对于只有一点点编程经验的人来说,搭建自己的开发环境是很有挑战性的一件事儿。你需要自己把这件事儿搞定。 3. 做一个真正的、你想做的项目 在你想做的项目里,先找一个小的来做。我做的第一个项目叫做“今日所学”。软件里只有一个文字输入框,你每次输入一些文字,软件按照时间降序来显示输入内容的列表。仅此而已。 你的第一个项目一定就是一坨屎。但是它是完整的项目,而且是你完成的。这才是最牛逼的地方。 4. 你的代码要建立在你之前做过的项目之上 我每天写代码,我都会把当天所学的一两个知识点放进去,这样我下一次编程时就会写的更好。你会不断的从你的代码库里引用老代码,或从网上扒来的代码。一旦你真的懂了这些代码,你就能把它们用起来。 5. 别拷贝粘贴别人的代码! Tommy Nicholas去年12月写的博客里也提到了这个观点。只有你把代码敲出来,你才能真的学到东西,你才能发现你对某些代码还没弄透,也希望你去google一下你的疑问,这样才能学到越来越多的东西。 6. 别在别人面前得瑟“我在学编程呢!”,除非面对一个高手,你要求教。 开始学编程之后,你要为自己找到一两个编程老师带着你学,但别学了一点就在那些不会编程的朋友面前穷显摆。 我一直相信,如果你把想做的事儿说了出去,那事儿就永远只能停留在你嘴上了。所以除非对方是你可以请教的老师,不然就闭上嘴,低下头,老老实实编你的程。 空谈误国啊! 7. 编程就是失败无数次后弄清为什么。很痛?很挫败?很正常。 编程就是要重复的犯错误,犯重复的错误,弄清楚错在哪儿,再改正错误。下次再碰到相似问题(你一定会碰到的),你就会想起之前蹂躏你的那些代码和你的对策,吃N堑,长一智。 当然,搞定编程的成就感也会让你爽到内伤。“那东西是我想出来滴!”的快感是我活着的动力!我为之着迷!但获得快感的路也灰常艰辛。不断寻找你的动力,不断前进! 8. 别再纠结应该学什么,开干! 我一朋友的朋友总是没完没了的问我各种磨唧问题。他试图在正式开始前看清所有可能会搞不定的地方。 这是一种最操蛋的学习方式。正确的方法是:选门语言(Ruby 或 Python)、买本刚出版的书、把自己当个白痴、立马开始学!立马开始第一章!有必要就把第一章再看一遍!你根本没法想象有多少知识是你不知道的!不过没关系,你会慢慢都搞明白的。大家都是这么过来的。 祝你好运! 冷血QQ3190152811
|