也许是一门外语,比如意大利语或德语。或者可能是一种图像编辑器,比如 Photoshop。或者是一种烹饪技术,木工活,日常锻炼。我想让你回忆一下你最终学会它时的感觉:醍醐灌顶的时刻。当事情从模糊不清变得豁然开朗,正如你掌握了如何使用台锯,或者理解了法语中雄性名词和雌性名词的区别。那种感觉怎么样?非常美妙,对吧?

    我教授过许多面向初学者的编程课程。上我课的学生们经常试着通过阅读博客或者拷贝粘贴代码来自学HTML或JavaScript这样的东西,但是他们都没能真正掌握能够使他们编写出自己渴望的结果的技能。而且,因为他们没有真正把握关于编程的特定问题的内在和外在,他们不能编写强大的代码或调试自己的程序,因为他们没有真正地理解发生的事情。

    能够在你的网站中复制JQuery代码段是不够的,就像在Photoshop中仅仅学习如何打开,关闭和保存一个文档是不够的一样。确实,只要我学会了一些关于编程的基本我就可以制造并分享一些我的设计。但是没有合理地了解这些工具和它们背后的机制,我又如何定义一个网格,或者建造一个合理的类型系统,或者为Web优化图像呢?JavaScript也一样。不知道循环如何工作,或者如何定义变量,或者作用域是什么,我们将不能写出最好的代码。我们不想安于这种次优的状态 —— 这毕竟是我们的作品。

    Jenn Lukas

    , @jennlukas

    前端顾问