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

更新日期: 2018-11-02阅读: 2.4k标签: 语言
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 是否是一种「真正的」编程语言的时代已经过去,现在的问题是,你有没有准备好投入到这门语言中,进行真正的学习。


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

vue.js实现多语言_vue.js国际化 vue-i18n插件的使用

在项目开发中遇到需要多语言的支持,在Vue项目中有对应的组件vue-i18n,而且对项目的代码修改不大.这篇文章讲解vue-i18n的安装和使用,语言包的生成 & 替换项目中原有的静态文本

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

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

JavaScript中的黑话

因为球是圆的,所以不论发生什么都有可能,对这点我是深信不疑的,但最近我总是在怀疑,JavaScript也是圆的!本文带你细数JavaScript的黑话,因为这一切是多么的有趣,又是多么的无意义,就如这世界一般,很多事情只有当你了解过,才能做出错误的选择。

10个编译为JavaScript的语言

你不用写一行Javascript或者考虑这种语言的局限,就能生产在浏览器能运行的代码。这篇文章包括了十种有趣的语言能够编译为Javascript,在浏览器或者Node.js中被执行

这三个新特性可能改变JavaScript未来

你想不想知道下一波令人兴奋无比的 JavaScript 特性?你甚至都不知道自己需要这些特性。现在,我要向你展示三个可能会改变你编写 JavaScript 代码方式的提案。这些提案中有很多方面仍未最终确定。

7种主流编程语言的优点和缺点对比

7种主流编程语言:Python需要拿着游标卡尺学习的语言 ,C/C++大多数中国程序员的第一个语言 ,Java最长寿的语言 ,C#自称不是 Java 的 Java 语言 ,JavaScript 不是 Java 语言的语言 ,SQL数据库离不开的语言 ,PHP 世界上最好的语言

学习编程开发_如何学习并掌握一门计算机编程语言

如果你有兴趣编写计算机程序,移动APP,网站,游戏或者任何软件,你应该学习编程。编程语言撰写的代码构建了计算机的程序。无论对于何种计算机编程语言,其核心编程思想都是一样的

前端国际化的另类方式

一个项目发展到一定的环境或者一开始就是为多国打造的,就需要考虑国际化了。简单来说,就是一套页面,多套语言。主要探讨了两种完全不同的国际化方式,前一种主流,后一种完全属于另类,但还是有用武之地的。如果你的页面不太复杂,完全可以采取这种方式。

编程语言排行榜

对于程序员来说,选择一门适合自己,适合职业发展的编程语言也是同等重要。各大编程语言的受欢迎程度、学习的人群数量,以及由于人工智能的兴起,最热门的编程语言排行榜也发生了变化。让我们来看看。

多语言网站利器 rel=alternate hreflang=x

hreflang 属性的值用于确定备选网址的语言(以 ISO 6391-1 格式表示)和区域(以 ISO 3166-1 Alpha 2 格式表示且可选)。例如:de:德语内容,不限区域,en-GB:英语内容,面向英国用户,de-ES:德语内容,面向西班牙用户

点击更多...

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