问题标签 [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.
ruby - 为什么 Ruby 方法调用特别慢(与其他语言相比)?
我正在尝试阅读有关 Ruby 性能的信息,并遇到了这个 SO thread,其中一个答案提到“方法调用是 Ruby 中最常见的操作之一,速度特别慢。”
另一个线程提到“它对方法进行“延迟查找”,以提供灵活性。这会减慢它的速度。它还必须记住每个上下文的名称以允许 eval,因此它的帧和方法调用更慢。
有人可以更详细地解释为什么 Ruby 方法调用特别慢,并详细说明第二个线程吗?我不完全确定什么是延迟查找或为什么它很慢,而且我不知道每个上下文的名称是什么意思,也不知道它与帧和方法调用有何关系。
我(可能不正确)的理解是,由于可以在运行时添加或修改方法,Ruby 解释器永远无法“记住”如何运行特定方法,因此它必须在程序运行时每次都查找该方法,而这是方法调用慢的意思。但是更正和更多技术解释会很棒。
c# - 您将如何在 C# 中创建表达式解析器?
我只是好奇。就像在解释语言甚至语句计算器中一样,人们如何将输入或文件给出的字符串转换为实际表达式?例如“输入计算:”然后你写“2*7/4”,它是一个字符串。程序如何将字符串转换为实际的表达式?将字符串转换为 int 很容易,但是如何转换+、-、/等 运算符?我知道这类事情通常是用C/C++实现的,但是有可能用像C#这样的高级语言来做这样的事情吗?如果是,那怎么办?
php - php 作为解释器语言或编译
可能重复:
PHP 是编译还是解释?
我对与 PHP 一起使用的词有点困惑。我知道 PHP 是一种脚本语言。有时我读到它是解释的,有时它是编译的!
怎么样?,当它作为 Apache 模块安装时,它会被编译,如果它作为 CGI 安装,那么它将被解释......但我知道有人曾经告诉我 PHP 也是解释语言...... .
我可能听起来很愚蠢,但目前,我很困惑。我很清楚编译器和解释器之间的区别。
rdf - RDF语义规范中的“IS”“IL”和“IEXT”指的是什么?
这些术语在http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#interp上的“简单解释的定义”表中使用。我对它们的含义有点不清楚。
在这一点上,我认为他们的意思是,中间语言,
我对这些缩写的含义有点不清楚。我猜它们的意思是中间语言、中间系统和中间扩展(或其中任何一个,用“解释”代替“中间”)。此信息在文档中并不明确,而且我没有足够的上下文来最终知道所指的是什么。
编辑 我复制了下面使用它的部分:
python - Python 是解释的,还是编译的,或者两者兼而有之?
据我了解:
解释语言是由解释器(将高级语言转换为机器代码然后执行的程序)在运行中运行和执行的高级语言;它一次处理一点程序。
编译语言是一种高级语言,其代码首先由编译器(将高级语言转换为机器代码的程序)转换为机器代码,然后由执行器(用于运行代码的另一个程序)执行。
如果我的定义有误,请纠正我。
现在回到Python,我对此有点困惑。随处可见 Python 是一种解释型语言,但它被解释为一些中间代码(如字节码或 IL),而不是机器码。那么哪个程序会执行 IM 代码呢?请帮助我了解如何处理和运行 Python 脚本。
ruby - Ruby 是脚本语言还是解释语言?
我刚刚注意到,在 Ruby 的维基百科页面中,这种语言被定义为解释性语言。
我知道我的背景中可能缺少一些东西。
我一直都知道不需要编译器的解释语言和编译语言(需要在执行程序之前编译)之间的区别,但是脚本语言的特点是什么?
Ruby 可以定义为脚本语言吗?
谢谢并原谅我停电
python - Python - 交互模式与解释器的正常调用
两种模式在资源方面,尤其是内存方面有区别吗?我在标题中指的是 Python,但如果对许多解释语言(Octave 等)有一个共同的解释,那将非常有帮助。
谢谢
ruby - Ruby 解释器在哪里?
我在 OS X 上使用 Ruby 1.8.7。Ruby解释器在哪里?我的目标是更多地了解 Ruby、解释语言和解释/解析。
haskell - 如何在解释模式下运行 Haskell 文件
有人告诉我你可以解释 Haskell 文件(我认为这意味着它们将像 Ruby/Python/Perl 一样工作)。不过,我在 GHC 上找不到执行此操作的命令行选项。它总是想编译我的文件。也看了一下 GHCi,但它总是让我陷入 repl。
我基本上只想做ghc -i MyFile.hs
(其中 -i 是一个虚构的标志,我假装与解释模式相关)并让它执行,以便在我尝试想法和学习时获得快速反馈。
python - 在解释语言中使用匈牙利符号前缀是否有意义?
首先,我查看了以下帖子以避免重复问题。
https://stackoverflow.com/questions/1184717/hungarian-notation
为什么我不应该使用“匈牙利符号”?
变量前缀(“匈牙利符号”)真的有必要了吗?
人们在现实世界中使用匈牙利命名约定吗?
现在,所有这些帖子都与 C#、C++、Java 相关——强类型语言。
我确实理解在编译之前知道类型时不需要前缀。
不过,我的问题是:
考虑到在运行时之前看不到对象的类型这一事实,是否值得在基于解释器的语言中使用前缀?
编辑:如果有人可以将此帖子作为社区维基,请这样做。我对这篇文章的声誉(或负面声誉)几乎不感兴趣。