如何学编程,JUST DO IT!

来源: OSCHINA
编辑: oschina
2013-03-29

Talent

在不知道什么是回调函数之前,Michelle Bu 做出了自己的第一个网页。他在个人博客分享了这段有趣的经历。

Michelle 有一个笔记本上涂鸦的习惯。某次夏季旅行中,他画了一系列的三角形,觉得很酷。然后,他决定做成网页,或许能够让自己在 Tumblr 上显得很酷。

他开始向学习计算机的朋友求教。他们的建议可以总结为一句话 : “去 Google 它”。当他说找不到答案的时候,朋友告诉他去 Google “CSS triangle”。

“抱歉……CSS 和三角形有啥关系?”

谈话通常会突然结束,或者是“CSS 简单的说,就是你给 HTML 设定风格”。

每次谈话都让他感到自己很无能。不过,他还是发现了用 div 和一些 CSS 代码做出三角形的方法。最初的代码是这样的:

21 nested callbacks_1

这样的代码还要持续 165 行。

然后,他了解到有个叫 jQuery 的东西,能够使用名为“Animate”的 API 来改变三角形的属性。比如,如果使用 $(‘#something’).animate({ ‘opacity’: ’0′ }),就能使某个三角形消失。他想到的是,如果想要 20 行三角形接连消失的话,需要 20 行一样的代码。

于是,他把 jQuery 中的代码贴到了自己的 JavaScript 文件里。后来的代码成了这个样子:

21 nested callbacks_2

他很高兴的发现,代码发挥了作用,三角形按照他的设想消失和再现。他把代码给一个真正的软件工程师看。出乎预料的是,工程师没有讽刺他,“没有程序员会做出这种事情”。然后,这位工程师说,“没有人会写出这样的代码,因为他们不会有这样的耐心”。

这逐渐成为了一个愚蠢的破冰话题,“hey,你花了两个小时解决 CoffeeScript 中的空格问题么?看看我,花了一天的时间, 写了 21 层函数和 200 行一模一样的 HTML 代码。”

如今,Michelle 要从伯克利大学毕业了,恐怕也不会再去写什么代码。不过,他觉得自己从这件事情中领悟到一个道理。

编程是困难的。不要因为你不如身边的人擅长‘Google 它’而感到难过。永远不要让参加黑客马拉松的势利眼阻止你为猫做 Twtter或者做公厕 Yelp。即使是最傻的主意(比如试图去做个可以消失和再现的几何动画)也能提升你的编程能力。学习编程更多是学会去学习——而学习的最好方法是‘做’。

到最后,要做一个合格的程序员,不仅仅是你赢了多少场黑客马拉松,或者你想出了多少新花样,而是执行力、关注细节、不妥协的专注,以及构建和破坏的激情。

如果你对自己的代码感到害羞,我同意你去嘲笑一下我做三角形时的 21 层回调函数。

 

题图来自:wired

展开阅读全文
67 收藏
分享
加载中
最新评论 (31)
66
2013-04-06 21:52
0
回复
举报

引用来自“voov”的评论

引用来自“sin30”的评论

字体很好看, 请问是啥字体

monaco

对的 就是 monaco
2013-03-29 21:00
0
回复
举报
just do it
2013-03-29 17:36
0
回复
举报
我是来膜拜的。反正重复性工作超过三次我肯定去写循环了。
2013-03-29 17:15
0
回复
举报

引用来自“七液”的评论

加州伯克利耶~这孩子居然不会编程?对得起那些学叔,学婶么(叫学长学姐似乎有点年龄差距太大)
js,css浏览器执行起来不是更慢么?
现在大家不都追求手绘么?(虽然看起来不公正不标准啥的,但是玩的就是这派~)

美国基础教育相对不是很严格约束,学生对这些感兴趣不代表大学一开始就有高水平,戴维斯分校地矿大一也有认不清矿物的,道理类似。
2013-03-29 13:34
0
回复
举报

引用来自“滔哥”的评论

图中是什么本本的键盘,,,好亮呀

背光键盘而已,很多型号都有,自己也可以改装。
2013-03-29 13:32
0
回复
举报

引用来自“sin30”的评论

字体很好看, 请问是啥字体

Ubuntu Mono
2013-03-29 11:22
0
回复
举报

引用来自“voov”的评论

引用来自“sin30”的评论

字体很好看, 请问是啥字体

monaco

+1
2013-03-29 11:18
0
回复
举报
更多评论
31 评论
67 收藏
分享
返回顶部
顶部