Javascript 是什么阻止了类似WebAssembly的系统在web上的实现和采用?
JavaScript是专门为浏览器设计的。它不是从架子上取下来的。那么,让它成为脚本语言而不是编译语言的原因是什么呢 随着WebAssembly的引入,它证明了web编译语言是可能的。但为什么它一开始就不是这样设计的呢 在web领域,脚本语言比编译语言有什么好处 编译语言的支持者认为JavaScript是一种可怕的语言,永远不应该被采用,所以我想知道,让JavaScript编写脚本的选择是一种任意的选择,还是一种吸引那些不能处理像C这样的“真正”语言的开发人员的选择?还是其他原因Javascript 是什么阻止了类似WebAssembly的系统在web上的实现和采用?,javascript,programming-languages,webassembly,scripting-language,compiled-language,Javascript,Programming Languages,Webassembly,Scripting Language,Compiled Language,JavaScript是专门为浏览器设计的。它不是从架子上取下来的。那么,让它成为脚本语言而不是编译语言的原因是什么呢 随着WebAssembly的引入,它证明了web编译语言是可能的。但为什么它一开始就不是这样设计的呢 在web领域,脚本语言比编译语言有什么好处 编译语言的支持者认为JavaScript是一种可怕的语言,永远不应该被采用,所以我想知道,让JavaScript编写脚本的选择是一种任意的选择,还是一种吸引那些不能处理像C这样的“真正”语言的开发人员的选择?还是其他原因 是什么阻止了
是什么阻止了类似WebAssebly的系统从一开始就在web上实现和采用?JavaScript被开发出来
- 重量轻。一台Windows95电脑可能有0.002Gig的内存(2MB),并且运行的是速度为0.06GHz(60Mhz)的快速奔腾处理器。这样的设置没有资源来加载和执行微软C++,同时做其他任何事情。内存分页超时工作
- 比Java更快。在早期的Netscape浏览器中启动Java引擎需要很长时间,因此使用Java访问网站需要很长时间才能在第一次遇到Java小程序时加载插件。正是由于这个原因,Java客户端的使用从未真正站稳脚跟。
- 易于学习和使用。这可能有点过火了,但是
- 支持未声明的变量(不是最好的想法)
- 所有变量都类似于一个基本变量-无需声明或管理变量类型
- 没有指针。有,它们被称为“对象”变量,但不需要处理内存地址、结构或联合数据类型或类
- 使用熟悉C语言家族的程序员所熟悉的语法
- 定义并引入了一个具有对象的环境,并内置了对全局对象的访问,以便在网页中进行编程
- 有一些错误,比如为null的数据类型返回“object”,声称对象是类,但没关系
更多: WebAssembly不是JavaScript的替代品,但在浏览器上下文中,它确实支持对JavaScript函数包装器的调用 1995年,在Netscape navigator的2.02 beta版中,以“Livescript”的名义引入了JavaScript的初步版本。它引入了
标记,并将Netsape浏览器内部的部分暴露到页面脚本中——主要用于支持将HTML注入页面源代码,以及处理表单控件和页面导航生成的鼠标和键盘事件
此时(一开始),WebAssembly既没有需求,也没有适合的web生态系统:XMLHttpRequest、DOM、CSSOM、WebGL、IndexedDB、web音频API等的接口离开发、实现和标准化还有几年或几十年的时间。Netscape最初使用Brendan Eich(最初)在十天内编写的脚本引擎,创造了对web脚本的需求。这仍然是一个好问题,我想知道stackexchange是否是询问suchI的更好地方。我已经将这个问题重新表述为可以用事实和引用来回答。它能重新打开吗?诚实,问题在中间。它也许可以用事实来回答,但几乎没有一个明确的答案,这意味着答案仍然是基于观点的。我建议您将问题转移到堆栈交换。例如,你可以在那里问这样的问题: