关闭

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

时间: 2018-11-02阅读: 904标签: 语言
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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

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

关闭

javascript为什么是弱类型?

弱类型语言也称为弱类型定义语言。与强类型定义相反。弱类型语言允许变量类型的隐式转换,允许强制类型转换等,如字符串和数值可以自动转化;而强类型语言一般不允许这么做。

哪种编程语言最适合区块链?

区块链技术由于其安全、快速以及去中心化的特性(虽然不是所有项目都满足这些特性,但是大多数项目是符合的)已经迅速渗透到了各种业务场景、我们的生活以及身边的企业中。

JavaScript 与 Java、PHP 的比较

网站开发的实践从设计方面开始,包括客户端编程语言。大体上说,在网页设计中使用了三种语言:HTML,CSS和JavaScript。自从网站发明以来,HTML和CSS已经成为网页设计的基础,但是JavaScript被用于添加网站的动态视图。

微软推出新编程语言 Bosque,超越结构化程序设计

微软近期推出了一款全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义。作者微软计算机科学家 Mark Marron 致力于消除编程过程中出现的各种复杂情况,创造出了他认为超越主流结构化程序设计的 Bosque 这一语言。

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

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

10个编译为JavaScript的语言

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

javascript术语大全_javascript各种专业名词理解

JavaScript常见术语解释总结,这里是javascript经常用到的各种专业名词,在此整理一下分享给大家,比如:直接量、变量、原始值、引用值、保留字与关键字 等

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

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

javascript基于什么标准

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

奇怪的 Javascript

我的意思是,对于刚开始使用这种语言和他语言(例如 C++ 或 C#)的开发人员来说,javascript 可能会很奇怪。某些语言可能会让你大吃一惊

点击更多...

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