本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1879|回复: 5
打印 上一主题 下一主题

[FW]想学编程?这样开始

[复制链接]
跳转到指定楼层
1#
发表于 2013-4-7 10:52:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Zoom.Quiet 于 2013-4-7 23:16 编辑

  1. 无节操的真心认同文章中的观点!
  2. - 早在 2009年
  3. - 可爱的Python 书中,我们就吼过:

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

进一步参考: 现代软件工程-教学心得.pdf (3.32 MB, 下载次数: 111)

ChinaGDG.com
回复

使用道具 举报

2#
发表于 2013-4-7 12:29:29 | 只看该作者
很受益的文章
ChinaGDG.com
回复 支持 反对

使用道具 举报

3#
发表于 2013-4-7 17:33:14 | 只看该作者
python 与 lisp 我只是用来做计算器用,一直没有时间来深入学习python,guilt 呀 ?
ChinaGDG.com
回复 支持 反对

使用道具 举报

4#
发表于 2013-4-7 17:33:27 | 只看该作者
python 与 lisp 我只是用来做计算器用,一直没有时间来深入学习python,guilt 呀 ?
ChinaGDG.com
回复 支持 反对

使用道具 举报

5#
发表于 2013-4-13 20:47:46 | 只看该作者
谢谢,挺有用的
ChinaGDG.com
回复 支持 反对

使用道具 举报

6#
发表于 2013-4-21 17:34:13 | 只看该作者
拜读。

ChinaGDG.com
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表