我已经被多次问到,如果我刚刚开始,我应当学习什么编程语言,答案一定是JavaScript,下面是为什么:
最简单的开发环境
我相信人们进入编程最大的障碍实际上是编写代码相关的所有其它方面的东东。你能够更快地编写代码(至少在你开始学习的时候),在我看来就是一个胜利。每个人都可以访问web浏览器,这意味着每个人现在也能访问一个简单的开发环境了。如果你在使用Mac下的Chrome,按快捷键cmd-opt-j。就来到了控制台,现在你就可以开始编写JavaScript并管理你看到的网页了。真不错。还有大量的在线编辑器和工具,比如CodePen,JSFiddle,让你在浏览器搭建更为完整的开发/测试/原型环境。
简单
当你开始的时候,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那样集成的、一站式方式,但是我们有Grunt和Gulp之类的工具,可以建立自己的资源流水线。人们熟知的每个代码编辑器都支持JavaScript语法高亮和提示,我们不需要像其他语言的build过程,因此我们可以更加从容.还有一堆测试工具;从单元测试到功能测试,完全模拟了使用浏览器的用户。
因此不管怎么说——从来就没有开始学习编程的更好时间,如果你想开始,我建议从JavaScript开始。从简单做起,慢慢提高。看源代码。去Github。并为之疯狂。
原文地址:why-javascript-is-the-next-or-first-programming-language-you-should-learn