JavaScript 的现状_以及对 JavaScript 的批评有哪些呢?

时间: 2018-11-02阅读: 1149标签: 语言
JavaScript 的注:本文节选自「极客时间」大前端专题,有删改。


编程语言到底有没有生产力之分呢,当然是有的,尤其对于初中级选手。功夫到了绝顶,拈花飞叶皆是武功,工具就不重要了。但能到绝顶的,毕竟是少数,所以对大多数人来说,工具和编程语言的选择同样重要。《黑客与画家》的作者保罗·格雷厄姆(Paul Graham)就在文章中写过,他决定在公司使用 Lisp,就是因为他认为 Lisp 比当时所有的语言都高出一筹,独特、深邃,能够表达难以描述的事物。保罗说,自己公司相比竞争对手的优势就在于 Lisp。

Lisp 始终没有成为程序员主要的开发语言,但是另一门类似英语表达一般的编程语言 JavaScript 在最近几年却获得了突飞猛进的发展,目前成为 Github 上使用最广泛的开发语言,可谓编程语言生产力的代表。

然而,JavaScript 仍未得到与其他语言同等的尊重。尽管它的使用率在创业公司和大型公司中持续增长,但很多人依然不认为它是一门有用的语言。大公司的高级工程师声称它不是一门「真正的」编程语言,许多人还以为 JavaScritp 只能操作一些表单和样式,并弹出一个警示框。

作为一名老程序员,我希望通过这篇文章让大家深入了解公众对这门语言的看法。在我来看,一些批评有失水准,有一些批评则是有意义的。


不断增长的生态系统

除了样式效果外,JavaScript 也被越来越多地应用于软件开发,例如后端任务、Web 服务器以及数据处理和原生移动应用的开发。JavaScript 并不是人为设计出来的一门语言,它是在进化过程中找到了自己的位置。它成型很快,起初只关注一个很小的目标,后来是市场的力量改造了这门语言。

Rauch 的公司提供了一个可以同时在浏览器和服务器上使用 JavaScript 的开源 Web 框架。事实证明,许多公司都在做同样的事情。根据统计公司技术栈信息的网站 StackShare.io 的数据,在后端语言的选取上,相比 Python(4000)或 Java(3900),更多公司使用 JavaScript(6000)。这个网站面向的更多是创业公司,但它从侧面反映出 JavaScript 是一个不断增长的生态系统。

再来看看编程工作的数据,Indeed.com 上的一篇文章告诉我们,在美国,大多数编程工作都使用 Java,但 JavaScript 并不落后。比如:

1、在 Github 上 JavaScript 开源项目的数量最多(比 Java 多出 50%)
2、Nodejs 被评为 StackOverflow 2017 年开发者调查中最受欢迎的框架
3、JavaScript 是 Stack Overflow 中最流行的编程语言


对 JavaScript 的批评有哪些呢?

并没有致命的批评。

我咨询过一位 Oracle 的朋友,他们的工程师对 JavaScript 有什么顾虑。他说“由于 JavaScript 是一门解释型无类型语言,对于系统编程来说它不是一门理想的编程语言”,这种针对 JavaScript 的投诉非常普遍。JavaScript 函数接受任意类型的参数,但在 Java 中,如果参数不是特定类型就会引发错误。

我又咨询另外一位在谷歌工作的朋友,他向我指出 Nodejs 的一些公开的问题,他说,一些错误虽然微乎其微,但他会认为这个框架不够成熟。

上述几位工程师都曾提到,每当讨论编程语言时,经常听到其他工程师贬低 JavaScript。大家对于 JavaScript 用于后端任务依然心存疑虑,但是大部分敌意似乎又与语言和生态系统的现状无关。


JavaScript 的现状

JavaScript 在过去 5 年中已经走过很长一段路,早期 JavaScript 实现类似 Facebook 的“Like”按钮这样的功能,都需要刷新页面,点一下,刷一次。后来可以做到点一次页面不刷新,但会改变页面状态。

再后来开发者开始通过 JavaScript 来制作单页面应用程序(SPA)。SPA 指在浏览器中应用程序只加载一次,所有后续视图都是通过 JavaScript 生成的。反对者认为,用户需要花很长时间才能完成初始下载,在手机上时间更长。在过去的两年中,向管理和打包 JavaScript 代码技术已得到显著提高(比如 webpack)。这解决了 JavaScript Web 应用缓慢的加载速度,提升了性能并创建更好的用户交互体验。

随着技术进步,JavaScript 出现了新的编程范式。状态管理库将计算机和操作系统的设计原理使用到了用户的交互体验上,JavaScript 工程师的门槛变高了。在这些变化的背景下,对于早期阶段的公司来说,使用 JavaScript 作为后端语言就开始变得有意义。如果您已拥有了优秀的前端 JavaScript 攻城师,这种做法可以让他们更轻松地协作,审核和共享代码

尽管 JavaScript 最初是一门浏览器中的语言,但在计算机科学的各个方面 —— Web、移动端、物联网和后端服务中,它都变得更加普遍。无论你是否承认这一点,JavaScript 都在各个编程领域大展身手。

毫无疑问,JavaScript 已经成为了一门一流的编程语言,使用 JavaScript 的程序员们正变得无所不能。质疑 JavaScript 是否是一种「真正的」编程语言的时代已经过去,现在的问题是,你有没有准备好投入到这门语言中,进行真正的学习。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1252

5 种将死的编程语言!

现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,但逐渐不受大家欢迎;直接完全死去。

WebAssembly的过去、现在和未来

为了能够让其他语言的代码在浏览器中运行,WebAssembly被创造出来。它拥有更好性能,更小的size,能够更快的加载和执行。我们无需编写WebAssembly的代码,只需要将其他高级语言编译成WebAssembly,这样就能在浏览器中复用大量的其他语言现有的代码。

谁将取代 JavaScript?

谁能取代 JavaScript 似乎是一个老生常谈的话题,很多人都提出过各自不同的看法。本文作者则提出了一个新的视角供你参考:JavaScript 风头正劲,但 WebAssembly 可能已经敲响了它的丧钟

一种全新的、用户友好的超级计算机编程语言

当今唯有超级计算机才有足够的计算能力来应对科学研究中那些最顶尖的挑战,但在这些超级机器上进行编程却很艰难,这对科学探索而言是一种阻碍。几十年前,计算机也曾成本昂贵、操作复杂、数量稀少。

javascript基于什么标准

JavaScript是基于基于ECMAScript标准的。JavaScript不局限于某个特定版本的ECMAScript规范,并且可能被用于任何不同程度的任意版本的 ECMAScript 的实现。

五款面向未来的伟大编程语言

我们根据 RedMonk 与 TIOBE 等公司发布的数据,大胆宣称一部分编程语言在未来中长期内将注定步入失败。这篇文章发布之后引发轩然大波,这也让我们深刻进行了自省,并决定……写下这篇更为激进的续章

web网页多语言的实现方案_前端实现多语言切换

需要在web中实现多语言的切换,当用户语言切换完成后下次重新打开网页,也是上次设置的语言进行显示。在用户点击切换语言后,把选择的语言版本保存在cookie中;定义语言的标识+内容的json字符串

WebAssembly 的未来:将逐渐解锁整个“技能树”

WebAssembly 在2017年受到主流浏览器的支持,并发布了 MVP 版本,为消除人们对 WebAssembly 的误解,WebAssembly 社区组以 RPG 游戏中人物养成的“技能树”形式,对 WebAssembly 的未来发展路径做了非常详细的解释。

学习你的第一门编程语言

好的,决定好想学什么编程语言了吗,现在就让我们开始学习吧。所有你需要做的就是打开一本书,然后开始阅读,是这样的吗?

每个程序员都应该记住的十大编程语言之父

avaScript 创始人,Brendan Eich如果你问我,过去5到10年里最成功的语言是哪一门?我会毫不犹豫地回答你,是JavaScript。从不久前的客户端JQuery脚本库到最近的服务器端开发的node.js库,在Web开发的各自领域它们都占据着主导地位

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!