每个程序员都需要学习JavaScript的7个理由
英文原文:7 Reasons Every Programmer Needs to Learn JavaScript
最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于 JavaScript。Web 开发人员尤其如此。所以,如果你是一个程序员,那么你应该去学习 JavaScript。
需求
我之所以这样说的主要原因是,随着 JavaScript 的日渐成熟,以及 Node.js 方案变得越来越可行,我们对 JavaScript 程序员的需求正在持续增长。 JavaScript 在需求比例上已经超过了C#,仅屈居于 Java 之下。如果你看看 GitHub 上可行的项目,你会发现 JavaScript 出现得越来越多,甚至领先于 Java 和C#。最后,再看看 StackOverflow,你会发现 JavaScript 也处于顶层活跃中。
更好的薪酬
根据 SitePoint,JavaScript 的薪资要高于C#。当然,虽然现在 Java 的薪水还是比 JavaScript 高上那么一点。但随着 JavaScript 需求的增长,你可以预见它的薪酬肯定会提高。
在 Gooroo,关于薪酬 VS 需求呈现的画面略有不同。虽然我们对 JavaScript 的需求是显而易见的,但是很明显,几种需求较小的语言反而薪酬更高。我怀疑这是因为许多公司仍然认为 JavaScript 是任何一个程序员都会用的语言。但是,当他们认识到“任何一个程序员都会 JavaScript”,实际上是“任何一个程序员只会写蹩脚的 JavaScript 代码”的时候,也是他们经历惨痛教训的时候。然后需要真正的 JavaScript 程序员进入清理留下的烂摊子。
在 StackOverflow,我们看到了一份非常详细的关于开发人员在过去三年时间中的归类。当你最后看到“使用的技术”部分的时候,我们发现,如果你称 自己为 JavaScript 程序员(这里假设是在客户端),那么你得到的报酬虽然比 C# 程序员低,但会比 Java 程序员要好,但如果你说自己是一个 Node.js 程序员(全 JavaScript),那么你能拿到第二高的工资。唯一比 Node.js 还高的是 Objective-C(我假设以后会是,Swift)。
JavaScript 正日趋成熟
新的 JavaScript 标准每年都会发布,而且现在很明显,被添加到 JavaScript 的语法糖 (Syntactic Sugar)的数量每年都在增加。其中一个我期待的功能是,能在我的 JavaScript 代码中使用异步和 await 关键字,以消除回调地狱(callback hell)。
你越早开始学习 JavaScript,那么学习起来就越容易。所有的改变都是循序渐进的,就像浏览器正在不断地改进处理 JavaScript 代码的能力。可以预见在不久的将来,浏览器不仅可以缓存 JavaScript 文件,还可以缓存 JavaScript 文件的编译版本。
JavaScript 程序员更能被委以重任
大概在一年前我和我的一个老朋友聊天的时候,他提到,他是他们小组(约 20 个程序员)唯一一个用这样的方式写 JavaScript 以消除变量对全局范围的污染的程序员。这只是最简单的例子。很多人称自己为 JavaScript 程序员,却不知道这些基本知识。所以,JavaScript 大有可为。
而且不要忘了,现在很多支持性能分析和内存泄漏的工具才刚处于起步阶段。如果你现在就掌握了这些技能,那么将来肯定可以更好地推销自己。
如果你对这一类东西感兴趣,那么可以阅读 PluralSight 上的一些课程。只要搜索“JavaScript profiling”即可。
日趋完善的框架
Angular 的新版本正在开发中,而且还有 Aurelia 作为候选。商业产品如 Scencha 的 EXTjs。还有用于服务器端编程的 Node.js。等等等等。用 JavaScript 开发实际的应用程序并不太难。我敢保证,如果我愿意的话,我完全可以只用 JavaScript 来写一个可以运行的桌面应用程序。嘿嘿。
JavaScript 无处不在
JavaScript 可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用 JavaScript 写前端的开发人员。而后端代码是用什么编写的则无所谓——不管是 Java,PHP,.NET,Node.js 还是其他——但是客户端就一定需要一个 JavaScript 开发人员。事实上,现在很多开发人员依然没有认识到 JavaScript 有多么强大。不知道正在阅读的你是否也是这些井底之蛙的一员。如果你确实是一个了不起的 JavaScript 程序员,那么基本上所有有关于服务器端平台的工作都能够胜任。如果再了解这些平台基本上就可以上任了。
JavaScript 是一种编译语言
这也许会吓你一跳,从技术上说,JavaScript 是一种编译语言。这有两个含义。首先,一旦代码被编译,它的运行速度或许就能媲美于任何其他可执行文件。其次,为 JavaScript 写工具在技术上是可行,并且将会创建一个不必每次加载代码到内存中时就重新编译的二进制文件。
你有什么感想?
当然,以上都是我的观点。你有什么感想吗?欢迎不吝赐教。
-
译文链接:http://原网站已经失效/article/7-reasons-learn-javascript.html
翻译作者:码农网 – 小峰