如何学编程,JUST DO IT!

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

[[68570]]

在不知道什么是回调函数之前,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 层回调函数。

原文链接:http://www.ifanr.com/269922

责任编辑:张伟 来源: ifanr
相关推荐

2014-01-02 13:09:41

创造力编程

2012-09-19 13:03:00

2014-06-17 09:37:33

极限编程XP

2022-10-28 07:38:06

Javawhile循环

2023-10-09 18:39:13

Python代码

2013-07-17 17:15:44

学习编程移动开发移动互联网

2015-04-09 13:32:16

编程编程前途

2023-08-30 08:30:09

2018-05-28 21:26:00

麦肯锡编程程序员

2023-09-27 11:39:07

GNOMELinux

2019-08-05 14:34:41

编程语言技术Java

2021-09-18 14:59:58

语言PythonC语言

2019-04-22 09:58:25

C语言Web操作系统

2020-12-08 15:54:15

编程语言Python

2021-04-06 15:20:05

编程语言JavaIT

2015-03-13 10:40:37

2021-08-27 00:21:19

JSJust源码

2020-05-25 20:55:55

游戏编程程序员

2012-09-10 09:40:53

编程科技老板

2022-09-19 00:29:01

编程语言Go 语言功能
点赞
收藏

51CTO技术栈公众号