为什么JavaScript是你应当学习的下一个(或第一个)编程语言

jopen 10年前

        英文原文:Why JavaScript Is The Next (or first) Programming Language You Should Learn

        我已经被多次问到,如果我刚刚开始,我应当学习什么编程语言,答案一定是 JavaScript,下面是为什么:

        最简单的开发环境

        我相信人们进入编程最大的障碍实际上是编写代码相关的所有其它方面的东东。你能够更快地编写代码(至少在你开始学习的时候),在我看来就是一个胜利。每个人都可以访问 web 浏览器,这意味着每个人现在也能访问一个简单的开发环境了。如果你在使用 Mac 下的 Chrome,按快捷键 cmd-opt-j。就来到了控制台,现在你就可以开始编写 JavaScript 并管理你看到的网页了。真不错。还有大量的在线编辑器和工具,比如 CodePenJSFiddle,让你在浏览器搭建更为完整的开发/测试/原型环境。

        简单

        当你开始的时候,JavaScript 让编写代码变得真正容易,这是非常有效的。定义一个函数,调用它。写个循环。忽略 DOM(事实上,也差不多完全忽略了 web),只关心简单的逻辑和代码。开始建立对象和数组。JS 里的 OO 模型稍微有些奇怪(特别是对于类和继承),不过还好,你需要灵活些,不管怎样,如果你想成为开发人员的话。一旦你掌握了基础,你就可以更为深入,并发现 JavaScript 的所有力量。

        灵活

        之前讨论的另外一个方面有,JavaScript 也是超级灵活的(论证也是如此)。一旦你能够从直接嵌在网页里的 Sctipt 标签里的一些函数,并控制一个图片或菜单,那么很快你就能够继续带有很多文件、较庞大的对象/类形式的结构,复杂的单页应用程序以及整个更加复杂的、完整架构的 web 应用程序。既然它与 DOM 和浏览器结合如此紧密,那么 JavaScript 实际上更好地扩展来迎接更大的挑战,可以完美地匹配 web 应用程序。

        网络原生(web-native)

        足够多的有天赋的移动 app 开发者让你相信,app 是未来,我仍然认为开放的 web 技术才是未来的关键。给它一些时间,我们差不多用 HTML/JS 写出所有的移动 app,并把打包好的 app 部署到手机上。我认为这基本上是不可避免的。学习 web 方面的开发是至关重要的。不管你在工作上主要用什么语言,你都需要基本地了解它,因为不管我们如何努力,你最终还是在操作 CSS、调整一些 HTML 标签等。那不会立即就销声匿迹,我不这样认为。

        不可避免

        几乎是到了最后,不过主要由于思想进化而部署其它方面。实际上我把这是做你为什么要学习 JavaScript 的真正的重要原因。下面是权衡——如果你开发 web 方面的东西,那么你到最后是在编写 JavaScript。这无可避免。你可以用服务器端语言(PHP,Python,Ruby)来做。有时候,负载会传递到浏览器,如果你想在远端做些有意思的东西,你将不得不使用 JavaScript。因此,如果你不得不学习,为什么不能优化这个过程呢(或许在更多地方使用 JS,而不是更少)。

        轻便(浏览器/服务器/原生)

        由于我们具有了 Node.js 之类的东东,JavaScript 已经超越了浏览器。你不仅可以写服务器端 JS(因此你可以用 JS 开发前后端 web 应用程序),而且还可以使用 node-webkit 之类的东西打包成可分发的桌面应用程序,或者使用 PhoneGap 为任意平台打包成移动 app。现在还没有其它语言能够有如此轻便。

        工具链

        如果上面那些原因还不够的话,就开发者工具链而言,激增的 JavaScript 社区在接下来的数年里,还有一条真正的长路要走。我们或许没有像 Mac 开发者使用的 Xcode 那样集成的、一站式方式,但是我们有 GruntGulp 之类的工具,可以建立自己的资源流水线。人们熟知的每个代码编辑器都支持 JavaScript 语法高亮和提示,我们不需要像其他语言的 build 过程,因此我们可以更加从容.还有一堆测试工具;从单元测试到功能测试,完全模拟了使用浏览器的用户。

        因此不管怎么说——从来就没有开始学习编程的更好时间,如果你想开始,我建议从 JavaScript 开始。从简单做起,慢慢提高。看源代码。去 Github。并为之疯狂。



来自: www.labazhou.net