跨过编程入门门槛,从写一首“代码诗”开始
对很多人来说,学写代码很难。本文将通过编写与众不同且富有诗意的代码来克服学习代码最初遇到的困难。如果你是个JavaScript新手,或者是在编程学习过程中遇到了困难,本文介绍的方法也许可以帮到你。 为什么学习编程这么难? 以下是人们对编程很难学及JavaScript(或任何编程语言)很枯燥的一些误解:
未接触编程的人 开发人员需要以一种非常特殊的方式看待代码,甚至要以一种完全不同且高度逻辑化的方式来思考。编程语言非常严格,对错误零容忍,单个字符就可能使机器无法理解人们的意思,并使应用程序奔溃。学习编程时,应将之前学习人类语言时的读写规则归零(顺便说一下,在学习一种新的人类语言时也是如此)。 但并非网上的编程语言、文档或视频教程都是针对“从人类语言到编程语言的转换”这一思维而编写的。当然,他们也没有必要这样做。毕竟,写代码的主要是为了告诉机器要做什么。 鉴于此目的,没有机会对这两种语言进行比较,因此人类的语言(包括词汇和语法规则)似乎对学习编程语言毫无用处。JavaScript语言中没有“爱”这个词,“我爱你。”这句话在其中也没有意义。机器(或浏览器)根本不理解爱。这种“闻所未闻”、“无从下手”的感觉可能会让人感到害怕。 第一次接触编程的人 这就是本文的意义所在,借助已掌握的人类语言知识,将JavaScript看作一种人类语言,以一种更容易、更具艺术性的方式来学习它。举个小例子来说明吧! 一个有趣的事实是,一些编程语言实际上已经从一种编程语言转换到另一种编程语言。这就是为什么掌握多种编程语言变得简单多了——只学一门编程语言就够啦。 一个小例子 例如,在很多情况下,要想运行JavaScript代码,需要准备好“文档”(基本上是网站,用户每次访问时都在下载),以便与HTML元素进行交互。在纯JavaScript语言中,可能会偶然发现以下内容。
或者有时像这样:
上述第一个代码肯定需要加以解释,而对第二个代码(也许需要一些想象),可以这样理解:满足了必需的某个条件后,后续步骤仅通过观察就能进行下去。 试想这样的场景:
连小孩都能理解“Once upon a time” (“曾几何时”)这样的内容。这种内容在与开发者对话(通过唤起他们的童年回忆),同时在理论上也能做开发。这就是“让人类语言转换为编码语言”的想法。 关于“functions(函数)”的简要说明:函数基本来说是一种技能,在调用之前处于休眠状态。“To read”是function read() { …}}的一项技能,想读取某内容时就写成这样:read(),就会调用才会调用该函数。还有一种是“匿名函数”,即function(){ … }(没有名字,就像上面的代码片段那样),它基本上是“一次性的临时操作”,甚至不算一种技能,例如“按下按钮”。 扭转乾坤:从信息到基础 要更进一步了解这个想法,可将上述的原因和误解颠倒过来: 一首小诗, 用JavaScript语言编写。 为人类而写, 讲述两个人之间的爱。
它不具有功能性,目前也不适用于机器,只是方便人们阅读和理解。 如果你能看懂这首诗,你实际上是理解了一段JavaScript代码,也许你还会拿来与英语进行比较。 现在你可能会问自己:我理解这一点,但它为什么这么写呢?这种语言背后的规则(语法)是什么呢?“me”在技术层面是什么意思?为什么这段代码看起来很像英语? 规则、词汇和变量 学习编程语言时,最重要的事情之一就是理解变量的概念。 每一种人类语言都有其规则(语法)和大量词汇(意思均已知)。显然,只有先学习这两点才会说这种语言。 与许多其它编程语言一样,JavaScript也有一套规则(例如,单词之间要加“.”或如何编写“if”语句)和词汇(if、document、window、Event等)。这些关键字由JavaScript(和浏览器)所有(或“预先定义”),并且每个关键字都有其特定用途。 就像之前提到的那样,似乎没有机会去和英语中的单词和句子做比较,因为JavaScript中根本没有对应的词和句子。 这就是引入变量这个概念的原因,开发人员可以(甚至必须)定义变量,以便让机器和开发人员理解某些东西代表什么。变量可以采用多种形式(因此得名):它们可以是一串单词和字母(字符串)、数字、操作(函数)、甚至集合(数组),不胜枚举。 在所有人类语言中,可能都有一个关于“love”的词,你大概明白它是什么意思,但不太肯定,因为它太主观了。但无论怎样,还是有一个词可以形容它。 (编辑:ASP站长网) |