问题标签 [interpreted-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
12815 浏览

ruby - 如果 Ruby 的所有实现都被编译成字节码,那么它真的是一种解释型语言吗?

在为这个关于 Blue Ruby的问题选择的答案中,Chuck 说:

当前所有的 Ruby 实现都被编译为字节码。与 SAP 的说法相反,从 Ruby 1.9 开始,MRI 本身包括一个字节码编译器,尽管在合并 YARV 虚拟机的过程中,将编译后的字节码保存到磁盘的能力消失了。JRuby 被编译成 Java .class 文件。我没有太多关于 MagLev 的细节,但可以肯定地说它也会走这条路。

我对这个关于 Ruby 的编译/解释问题感到困惑。

我了解到 Ruby 是一种解释型语言,这就是为什么当我将更改保存到我的 Ruby 文件时,我不需要重新构建项目。

但是,如果现在所有的 Ruby 实现都被编译了,那么说 Ruby 是一种解释型语言还公平吗?还是我误解了什么?

0 投票
1 回答
6959 浏览

implementation - setTimeout 一般是如何在 javascript 解释器或计时器中实现的?

一段时间后调用的函数如何用 javascript 或任何其他解释语言实现?

换句话说,javascript解释器中是否有一个循环一直检查计时器列表,或者操作系统是否有任何特定的处理方式?

谢谢

0 投票
6 回答
7962 浏览

c++ - 运行解释 C++?

有没有办法我可以以解释而不是编译的方式运行 c++ 代码?所以我可以即时编辑代码和编写函数?


有关的:

0 投票
5 回答
247 浏览

bytecode - 每次到达该行时,是否会重新解释解释语言的代码?

假设没有为程序生成字节码,例如在 Ruby、Perl 或 PHP 中,在这种情况下,每次执行再次到达第 1 行时,是否会重新解释下面的第 1 行?

也就是说,如果循环运行 100,000 次,那么该行将被重新解释 100,000 次?

如果是这样,字节码的创建不仅有助于程序的初始启动,而且在执行期间也有帮助?(因为代码不需要再次重新解释)

0 投票
9 回答
36780 浏览

html - 为什么 HTML/JavaScript/CSS 不是编译语言,将来会是吗?

为什么 HTML/JavaScript/CSS 没有成为编译语言(甚至可能合并为单一编译语言)?如果浏览器正在运行“浏览器虚拟机”并且 html/javascript/css 源代码可以编译为“浏览器字节码”会怎样。它不会对开发人员和用户有很大帮助吗?

我可以看到一些挑战:

  1. 如何处理数以千计的现有页面?将此编译设为可选,因此如果您愿意,可以使用普通的旧 html。如果您想为浏览器提供已编译的页面,只需使用 .chtml 即可。

  2. 搜索提供商如何索引页面?制作一个反编译器,将字节码反编译成精确的原始源(例如可以反编译闪存)。或者搜索提供商可以使用相同的虚拟机并从那里获取他们需要的数据。

  3. 如何使其兼容所有浏览器?让一个集中式开发人员(比如说 w3c)来开发这个虚拟机,然后每个浏览器都会嵌入它。

但是好处呢:

  1. 速度。
  2. 尺寸。
  3. 不再有“松散”和“半正确”的 html。它要么正确,要么无法编译。
  4. 在每个(支持的)浏览器中看起来都一样。

如果不是字节码,那么至少进行一些本机压缩,html 可能不是最有效的数据存储方式。我知道有 gzip,但是如果我们可以压缩一次并将其提供给浏览器,为什么每次都在服务器上压缩页面并在浏览器中解压缩?

那么是什么阻止了我们走这条路(好吧,除了要付出巨大的努力来实现这一切)?

0 投票
6 回答
343 浏览

svn - 如何将 Subversion 用于非编译语言?

我想将 Subversion 与基于脚本的开发系统一起使用,并且想知道与我通常的情况 (C#/.NET) 有什么不同。

正常的日常更新/提交周期将正常工作,更改跟踪和修订比较也将正常工作。我想要一些建议的地方是关于部署的处理。

使用此脚本系统,不涉及明显的构建步骤 - 相反,部署涉及将选定的脚本直接上传到主机应用程序中。

对脚本的更改不一定包含在下一个版本中——它们可能注定要在那之后的版本中发布,或者在之后的版本中。

在一个理想的世界中,我希望能够将脚本分配到给定的版本中,比如“2009 年 9 月”版本,一旦它经过测试,然后用一个命令拉出该版本的所有脚本。

更新

据我所知,Tags 和 ChangeLists 都不是答案。

ChangeLists 不是持久的(不存在于存储库中),我需要一个允许稍后进行审查的解决方案。

标签实际上与分支相同 - 默认情况下它们包含所有文件,您只需选择哪些修订。

我希望有一种从空分支开始的方法,可以根据需要将特定文件修订版放入其中。

更新 2

两个例子,展示了我如何通过其他工具中的功能来应对这种情况。请注意,我根本不想推广这些工具,因为我想使用颠覆,我只是想弄清楚如何。

使用QVCS,我可以通过将标签应用于文件的特定修订来实现我想要的结果。该标签将保留在原位,附加到该文件的该修订版。在任何时候,我都可以做一个干净的检查,进入一个空目录,并指定只有具有指定标签的文件应该被复制下来。

同样,使用StarTeam,我可以将标签应用于文件修订并仅签出具有该标签的文件。

0 投票
7 回答
8641 浏览

php - 网站的解释语言与编译语言(PHP、ASP、Perl、Python 等)

我建立数据库驱动的网站。以前我在 MySQL 中使用过 Perl 或 PHP。

现在我正在开始一个新的大型项目,我希望以一种能够产生最具响应性的站点的方式来完成它。

我在这里看到了几个页面,其中关于如何优化 PHP 的问题受到各种版本的批评,“不值得花大力气优化 PHP,因为它是一种解释性语言,不会产生太大的影响”。

我还听过关于编译语言与解释语言的好处的各种讨论(特别是在 SO 播客上) ,似乎使用编译语言而不是解释语言来服务站点符合我的兴趣。

这在网络环境中甚至可能吗?如果是这样,什么是合理的语言选择?

除了速度之外,我预见到的另一个好处是可以在编译时发现错误,而不必调试网站。这是合理的预期吗?

0 投票
9 回答
31547 浏览

programming-languages - 解释语言的优缺点是什么?

我现在正在学习 Perl。解释型语言的优缺点是什么?

0 投票
6 回答
13140 浏览

r - R 是解释型编程语言还是编译型编程语言?

R 是解释型编程语言还是编译型编程语言?

0 投票
15 回答
22116 浏览

performance - 为什么口译语言慢?

我正在阅读解释语言的优缺点,最常见的缺点之一是速度慢,但为什么解释语言的程序很慢?