Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么服务器端Javascript没有被广泛使用?_Javascript_Backend_Serverside Javascript - Fatal编程技术网

为什么服务器端Javascript没有被广泛使用?

为什么服务器端Javascript没有被广泛使用?,javascript,backend,serverside-javascript,Javascript,Backend,Serverside Javascript,我们知道JavaScript是前端最流行和使用最广泛的语言之一。我想知道它在后端没有被广泛使用吗 简单回答:因为有更好的选择 答案很长:因为它是完全解释的(通常不是很好,例如IE6),除了环境提供的以外,没有提供标准的I/O机制,语法松散,导致代码难以验证,许多人发现基于原型的OO比基于类的OO更难处理。JavaScript在前端非常流行和广泛使用,因为它具有临界质量,而不一定是因为它是一种优秀的语言。没有人决定为客户端代码编写JavaScript;他们必须这么做,因为每个浏览器都支持它。在后端

我们知道JavaScript是前端最流行和使用最广泛的语言之一。我想知道它在后端没有被广泛使用吗

简单回答:因为有更好的选择


答案很长:因为它是完全解释的(通常不是很好,例如IE6),除了环境提供的以外,没有提供标准的I/O机制,语法松散,导致代码难以验证,许多人发现基于原型的OO比基于类的OO更难处理。

JavaScript在前端非常流行和广泛使用,因为它具有临界质量,而不一定是因为它是一种优秀的语言。没有人决定为客户端代码编写JavaScript;他们必须这么做,因为每个浏览器都支持它。在后端,其他语言(Java、PHP、Python、Ruby等)提供了JavaScript无法提供的优势。

得益于谷歌的V8引擎,它的应用越来越广泛。看一看。我认为糟糕的性能限制了它以前的有效性

js允许您以面向对象的方式在眨眼之间编写多线程自定义web服务。我想你会看到后端的Javascript才刚刚开始运行

我认为唯一阻碍它的是——正如其他人所说——缺少一个整洁的打包和标准化(至少对于Linux)的插入式解决方案。然后,这个解决方案需要被主要的托管公司采用,并作为其产品的一部分添加进来,这样它才能真正让IMHO脱颖而出。如果发生这种情况,我想您会发现它将爆炸式地进入后端服务器空间


自1998年以来,微软提供了使用“Javascript”(也称为JScript)对后端系统进行编程的能力。您仍然可以使用JScript开发ASP.NET应用程序。所以这不是什么新鲜事。我认为它没有被广泛用于ASP或ASP.NET应用程序的原因是,VBScript是“默认”语言,而C#似乎是经验丰富的专业人士的首选语言。但是,除了公司政策外,没有什么可以阻止您,这些政策通常限制开发人员使用单一语言进行公司开发。企业实体可能不太使用JScript的一个原因是,事实上,微软从未真正向开发人员“推销”过JScript。或者至少没有C#&VBScript那么多。因此,我认为这可能阻碍了它的发展。

我认为这只是历史的偶然。Javascript作为一种客户端语言诞生于Netscape,从未进行过转换

与当今主流的服务器端web语言相比,我认为最明显的区别在于Javascript中没有电池。没有标准的库


与Python、PHP、ruby等相比,它们都有很棒的标准库,使web编程更受欢迎。

我认为答案可能是,对客户端有利的东西并不总是对服务器端有利。例如,Javascript(通常是ECMAScript..也叫ActionScript)是一种非常松散和宽容的语言,它允许你处理很多事情。在客户端,这通常不仅可以接受,而且更可取。您通常希望您的UI尽可能平滑和宽容,以改善用户体验

然而,在服务器端,这通常是一个不同的故事,这就是为什么,我相信,主导服务器端的语言更加类型化和僵化


还有规模的问题。适用于客户端UI应用程序通常较小的代码库的方法并不总是适用于服务器端,服务器端必须处理许多问题,而这些问题在客户端并不是主要问题。e、 性能、打包、可伸缩性——这些对服务器代码比客户端代码(通常)重要得多,因此人们不选择JS进行服务器端工作是可以理解的。

我不是这方面的专家,但Douglas Crockford在“Javascript:好的部分”中说JS在浏览器中的流行本质上是偶然的,而不是因为它的优点

“Javascript是一种具有更多功能的语言 而不是它的坏部分。它去了 从不存在到全球采用 在惊人的短时间内。 它在实验室里从来没有休息过 什么时候可以试一下 抛光…当Java小程序失败时, Javascript成为了“世界语言” 默认情况下是Web.JavasScript 人气几乎完全消失了 独立于其作为 编程语言。”

不同的浏览器实现它的方式不同,而且与使用标准解释器的语言相比,很难说什么是正确的


正如Crockford的书所解释的那样,它确实有很好的特性,node.js可能会证明它对于服务器端开发非常有用。但到目前为止,在人们有选择的地方,他们大多选择了其他语言。

在服务器上,人们不必使用特定的语言,而且JavaScript的格式非常自由,代码很难维护


这就是为什么大部分人会选择别的东西。

这既不是主观的,也不是争论性的。这是一个有真实答案的有效问题。我第一次看到我在我的电脑中抛出的
script type=“text/javascript”
标记上的
runat=“server”
属性mouth@Assaf拉维:这肯定是主观的,没有一个具体的答案来解释为什么JavaScript在服务器端不受欢迎。这应该由程序员负责:有多个答案并不意味着它是主观的。如果除了语言战争和个人偏好之外,你想不出任何有意义的原因来解释为什么JS没有在服务器端使用,那么你可以忽略这个问题,不参与。一、 另一方面,我确实认为服务器端被某些语言而不是其他语言所主导有明确和客观的原因,我当然不认为关闭这样一个qu是合理的