JavaScript终于跻身于一流编程语言行列
小作 2018-03-08 来源 :网络 阅读 1617 评论 0

摘要:2003年,保罗·格雷厄姆(Paul Graham)在文中提到,他的公司决定使用Lisp(一门编程语言)。在文章中他将Lisp描绘成计算机语言界的法语,它独特、深邃,能够表达难以描述的事物(亦即法语je ne sais quoi所指)。他指出自己公司相比竞争对手的优势在于Lisp。 如果Lisp像法语,那么现如今的JavaScript就像英语一般。尽管二者的语法不一致,但英语是世界上最广泛使用的语言,JavaScript是最广泛应用的计算语言。


2003年,保罗·格雷厄姆(Paul Graham)在文中提到,他的公司决定使用Lisp(一门编程语言)。在文章中他将Lisp描绘成计算机语言界的法语,它独特、深邃,能够表达难以描述的事物(亦即法语je ne sais quoi所指)。他指出自己公司相比竞争对手的优势在于Lisp。


如果Lisp像法语,那么现如今的JavaScript就像英语一般。尽管二者的语法不一致,但英语是世界上最广泛使用的语言,JavaScript是最广泛应用的计算语言。

然而,JavaScript仍未得到与其他语言同等的尊重。尽管它的使用率在创业公司和大型公司中持续增长,但若非必要,人们不会认为它是一门有用的语言。大公司的高级工程师声称它不是一门“真正的”编程语言,许多人并不知道除了操作像素外它还能被用于何处。


作为一名JavaScript工程师,我希望更深入地了解公众对这门语言的看法,并观察这些观点在现实中到底有多牢不可破。我发现,一些批评有失水准,但更多的批评则是有意义的。


不断增长的生态系统

除了样式效果外,JavaScript也被越来越多地应用于软件开发,例如后端任务、Web服务器以及数据处理。Zeit首席执行官Guillermo Rauch指出,JavaScript“不是人为设计出来的,它是在进化过程中得到的结果。它成型很快,起初只关注一个很小的目标,后来都是市场的力量改造了这门语言。

Rauch的公司提供一个仅在浏览器和服务器中使用JavaScript的开源Web框架,事实证明,许多公司都在做同样的事情。

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

 JavaScript终于跻身于一流编程语言行列

技术公司后端服务编程语言剖面图(市场占有率估值)

再来看看编程工作的数据吧,Indeed.com上的一个看法告诉我们,在美国,大多数编程工作都使用Java,但JavaScript并没有落后,如下图所示:

JavaScript终于跻身于一流编程语言行列 

对JavaScript有正面影响的其他统计数据:

· 在Github上JavaScript开源项目的数量最多(比Java多出50%)。

· NodeJS被评为StackOverflow 2017年开发者调查中最受欢迎的框架。

· JavaScript是Stack Overflow中最流行的编程语言。


对JavaScript的批评

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

function doSomething(literallyAnything) { return; }  

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

Rauch指出,JavaScript的垃圾回收不是最理想的。另一个批评是Java和Python更适合数据科学类的项目,如机器学习和自然语言处理。这可能与这些语言可用的库有关,而非批判JavaScript的内在缺陷。学术界对Java和Python的依赖也助长了这种论调。

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


JavaScript艺术的现状 

JavaScript在过去5年中已经走过很长一段路,早期JavaScript用例一般像Facebook的“Like”按钮这样的功能,每当用户点击“Like”图标,页面不会刷新,但会改变页面状态,这种特性只能通过JavaScript在网络上实现。

开发者几年前开始通过JavaScript来制作单页面应用程序(SPA)。术语“单页”是指在浏览器中这些应用程序只加载一次代码,所有后续视图都是通过JavaScript生成的。反对者认为,用户需要花很长时间才能完成初始下载,在手机上更是长达20-30秒!

在过去的两年中,向浏览器发送JavaScript代码的技术已得到显著提高(参见:webpack)。这可以解决JavaScript Web应用缓慢的加载速度,提升性能并创建更好的用户交互体验。这是目前Web开发领域最先进的技术。

伴随着技术进步,出现了新的JavaScript范式。状态管理库将计算机科学原理应用于用户交互,JavaScript工程师的门槛变得更高。

在这些变化的背景下,对于早期阶段的公司来说,使用JavaScript作为后端语言非常有意义,如果您已拥有优秀的前端JS攻城师,此举可以让它们更轻松地协作,审核和共享代码。

尽管JavaScript最初是一门浏览器中的语言,但在计算机科学的各个方面-Web、移动端、物联网和后端服务中,它都变得更加普遍。工程师是明智的,不要因为他们对语言过时的看法而解雇他们。其实JavaScript一直是一门“真正的”编程语言,只是此时此刻,这种声明会比其他任何事情更容易被误解。


总结

从这些观察结果可以看出,JavaScript已经达到以下这些成为一流编程语言的标准:

· 被创业公司和大型私营公司用作后端服务框架(NodeJS)

· 有一个蓬勃发展的开源社区(在Github上最活跃)

· 作为一门专业技能,有大量的招聘需求要求掌握JavaScript知识(Indee.com)

最后,一家公司决定贯彻某种技术方案都是需要妥协的。我们在Commandiv这款产品中就同时使用JavaScript作为前端和后端服务语言,但这并不适合搜有人,我们这么做决定一部分原因是因为我么熟悉JavaScript这门语言。为了在创业初期快速启动,请您使用最趁手的工具。

也就是说,我认为质疑JavaScript是否是一种“真正的”编程语言的时代已经过去,它的旅程远没有结束,但是其应用率和改进速度使我对其前进道路充满信心。

 

希望这篇文章可以帮助到你。总之,同学们,你想要的职坐标IT频道都能找到!

本文由 @小作 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved