当前位置: 首页 > 后端技术 > Node.js

JavaScript,一门前途无量的编程语言

时间:2023-04-03 22:58:35 Node.js

原文:JavaScript-AFirst-ClassLanguageAtLast作者:TomGoldenberg译者:LeviDing免责声明:转载请联系本人,并注明出处。2003年,PaulGraham在他的一篇文章中提到他的公司决定使用Lisp(一种编程语言)。在其中,他将Lisp描述为计算机语言中的法语,独特、深刻,能够表达难以形容的东西(正如法语中的jenesaisquoi所指)。他指出,他的公司相对于竞争对手的优势是Lisp。如果说Lisp就像法语,那么现在的JavaScript就像英语。英语是世界上使用最广泛的语言,而JavaScript是使用最广泛的计算机语言,尽管它们在语法上不一致。然而,JavaScript仍然没有像其他语言那样受到同样的尊重。尽管JavaScript在初创公司和大公司中的使用率持续增长,但它仍然被认为是一种不太重要的语言。大公司的高级工程师声称它不是一种“真正的”编程语言,许多人不知道它除了操纵像素外还能用来干什么。作为一名JavaScript工程师,我想更深入地了解公众对该语言的看法,看看这些看法在现实中是多么无懈可击。我发现有些批评的标准更高,但大多数都是毫无意义的。不断发展的生态系统JavaScript越来越多地用于软件开发以及样式效果。示例包括后端任务、Web服务器和数据处理。ZeitCEOGuillermoRauch指出,JavaScript不是人类设计的,它是进化的结果。形成的很快,一开始只关注一个小的方面,剩下的就是市场力量对语言的改造。Rauch的公司提供了一个在浏览器和服务器中仅使用JavaScript的开源Web框架,事实证明许多公司都在做同样的事情。根据显示公司技术堆栈信息的网站StackShare.io上的数据,在后端语言的选择上,更多的公司选择使用JavaScript(6000家)而不是Python(4000家)或Java(3900家)。该站点更适合初创公司,但它反映了围绕JavaScript不断发展的生态系统。下面是一张维恩图,显示了不同公司的技术堆栈及其各自的市场份额(数据来自StackShare.io)。我们来看看不同语言的程序员的薪水。Indeed.com上的数据告诉我们,在美国,Java程序员的需求量很大,但JavaScript程序员的需求量也很大,如下图所示:YesOtherstatswhereJavaScripthaspositiveimpact:JavaScript有Github上开源项目数量最多(比Java多50%)。在StackOverflow的2017年开发人员调查中,NodeJS被评为最受欢迎的框架。JavaScript是StackOverflow上最流行的编程语言。对JavaScript的批评:我问Oracle的一位朋友,他们的工程师对JavaScript有什么担忧。他说“因为JavaScript是一种动态语言,它不是系统编程的理想编程语言”,这种对JavaScript的抱怨非常普遍。JavaScript函数可以接受任何类型的参数,但在Java中,如果参数不是特定类型,就会报错。functiondoSomething(literallyAnything){return;}我问了另一个在谷歌工作的朋友,他向我指出了NodeJS的一些公认的问题,其中一些他说是次要的,但让他认为框架不够成熟。Rauch指出JavaScript并不是垃圾回收的理想选择。另一方面,Java和Python更适合数据科学项目,比如机器学习和自然语言处理。这可能更多地与这些语言的可用库有关,而不是对JavaScript固有缺陷的批评。学术界对Java和Python的依赖也助长了这一争论。前面提到的几位工程师提到,每当讨论编程语言时,他们经常听到其他工程师贬低JavaScript。人们仍然对后端使用JavaScript持怀疑态度,但大多数敌意似乎与该语言及其生态系统的当前状态无关。JavaScript的状态JavaScript在过去5年里取得了长足的进步。早期的JavaScript用例通常类似于Facebook的“赞”按钮。每当用户单击Like图标时,页面不会刷新,但会更改页面状态。只能通过JavaScript在Web上使用。几年前,开发人员开始使用JavaScript制作单页应用程序(SPA)。术语单页是指这些应用程序,其中代码仅在浏览器中加载一次,所有后续视图均通过JavaScript生成。反对者认为,用户完成初始下载需要很长时间,在移动设备上长达20-30秒!将JavaScript代码发送到浏览器的技术在过去两年中有了很大的改进(参见:webpack)。这可以解决JavaScriptWeb应用程序加载速度慢的问题,提高性能并提供更好的用户交互体验。这是目前Web开发的最新水平。随着技术的进步,出现了新的JavaScript范例。状态管理库将计算机科学原理应用于用户交互,进一步提高了JavaScript工程师的门槛。在这些变化的背景下,对于早期的公司来说,使用JavaScript作为后端语言是很有意义的,如果你已经有好的前端JS攻城高手,他们更容易协作、审查和共享代码。尽管JavaScript最初是浏览器中的一种语言,但它已经在计算机科学、Web、移动、物联网和后端服务的各个方面变得更加普遍。工程师不会因为他们对语言的过时知识而忽略它。事实上,JavaScript一直是一种“真正的”编程语言,只是这句话比什么都更容易被误解。总结从这些观察来看,JavaScript已满足以下标准成为一流的编程语言:被初创公司和大公司用作后端服务框架(NodeJS)拥有蓬勃发展的开源社区(在GitHub上最活跃)作为专业人士技能,有大量招聘信息要求了解JavaScript(Indee.com)最后,公司实施技术解决方案的决定始终是一种妥协。我们在Commandiv产品中使用JavaScript作为前端和后端编程语言,但这并不适合所有人。我们决定这样做的部分原因是我们熟悉JavaScript语言。要在您的业务初期快速启动,请使用您最熟悉的工具。也就是说,我认为质疑JavaScript是否是一种“真正的”编程语言的时候已经结束了。JavaScript还有很长的路要走,但它的采用率和改进率让我对它的道路充满信心。欢迎大家在评论区留下你的想法和感受!欢迎大家加入QQ群学习交流:637481811欢迎扫描上方二维码关注公众号:LeviDing订阅实时更新。