有一天我被问到,为了快速地在web开发工作上增加优势,应该学习什么语言。我的思绪回到了大学,那时候我用Pascal、Fortran、C和汇编语言,不过那个时候有不同的目标。
鉴于当前的状况和趋势,答案相对容易给出来:学习JavaScript。四周看看,曾经低端的浏览器脚本语言现在变得随处可见,从服务器端到客户端,每天好像有更多的选择。
出身低微
我记得数年前投入web开发,学习了HTML、用Perl开发CGI脚本。Netscape在其2.0版本的浏览器里引入了一种叫做LiveScript的脚本语言,此后不久名字改成了JavaScript。这是一种很酷的语言,但是在浏览器大战中,大约一年以后,由于微软增加了支持,JavaScript被限制在Netscape的浏览器里。它早期作用被限制在字段有效性验证之类的简单任务上,但是与服务器端脚本比起来,它是非常好的选择。JavaScript逐步变成了ECMAScript名字下的一种标准。
这么多年来,JavaScript因为用于浏览器交互而成为一种酷酷的语言,但是随着Ajax突然爆发,支持开发者从web服务器发送和接收数据、而不用刷新网页,它赢得了更多的认可。接下来的一波应该被叫做jQuery革命,因为它和其它框架提供了开发强大web应用程序的易用特性。甚至微软带着WinJS框架也加入了;还有,Redmond巨人选择JavaScript做为开发Windows 8 应用程序的平台。
当Google在Chrome浏览器加入了高性能的JavaScript?V8引擎时,JavaScript有了一个较大飞跃。这次发展对于服务器端Node.js上JavaScript的全新范式的发展是有帮助的。Node.js的使用一直都是让人震惊的,还有用于开发从网站到功能完整的应用程序的各种应用、大量JavaScript框架的产生。最后一项是数据,而JSON标准成为传输数据的最流行的方式之一的苗头,已初见端倪,大部分重要的数据存储都支持它。
势头还在继续
在过去的这么多年里,有很多新技术产生了(网站的进化提供了一个伟大的技术时间线),但是JavaScript重要的一个方面是,它已经存在了大约两个世纪。今天它已经稳固地成为了功能丰富的语言。
这与刚开始的情形比起来,相差甚远,那时候JavaScript从来都没有自豪地写到简历里,因为真正的程序员是不屑于掌握它的。而现在,JavaScript是大部分招聘人员考核的重点。
当你正在寻找web开发的工作时,我认为JavaScript是可以起步的伟大语言,下面是重要原因:
- 进入门槛低:JavaScript与其它语言相比,相对容易学习,你能够在线上找到很多现成的脚本和资源。另外,JavaScript可以被任意文本编辑器或各种免费工具创建,包括Atom、ChromeDev Editor和jsFiddle。
- 跨平台:所有浏览器,还有基于Node.js的服务器端,都支持JavaScript,在大部分移动平台也正常运行。一套JavaScript技能可用来开发面向大部分平台的应用程序。(注意:JavaScript不是万能工具。比如,像数据分析之类的耗费资源的应用程序,最好使用另一种语言。)
- 已有技术:服务器端的JavaScript或许是个相对崭新的概念,但是核心JavaScript语言已经存在多年了,随着时间的增长,它已经成熟,并作为通用的web脚本语言被广为接受。
- 跳板:JavaScript和其它平台兼容较好,因此当你曾经冒险采用Ruby on Rails、ASP.NET、PHP等其它环境时,你的JavaScript技能将是必需的。你仍然需要学习HTML和一些CSS,通过JavaScript来开发强壮的web应用程序。
- 热门技术:语言是建立了,但是行业本身找到了带有JavaScript知识和技能的语言。看看招聘职位,你将看到趋势。
不是你哥们儿的JavaScript
我过去听说JavaScript被描述成易于学习,却难以掌握。对于很多语言,可能都是这样,但是web的JavaScript饱和程度意味着,初学的开发者可以从其它网站快速拷贝经过检验的代码,做些必要修改就可以使用,而不需要完全理解代码。
如今JavaScript是web的中坚力量,因此那些想成为web开发者的人们,应该集中精力于它,以作为学习的第一门语言。
你同意吗?如果你不同意,那么你认为想找web开发工作的开发者应该学习的第一门语言是哪种?在评论里告诉我们。
译者注:
- 《为什么我不推荐JavsScript为首选编程语言》提供了相反的观点。
- 《为什么JavaScript是你应当学习的下一个(或第一个)编程语言》