标签: interpreted-language

Ruby解释器在哪里?

我在OS X上使用Ruby 1.8.7.Ruby 解释器位于何处?我的目标是了解有关Ruby,解释语言和解释/解析的更多信息.

ruby interpreter interpreted-language

9
推荐指数
1
解决办法
1万
查看次数

Ruby变量定义

我偶然发现了ruby中关于变量定义的奇怪行为(并且在途中丢失了一盒甜甜圈):

irb(main):001:0> if false
irb(main):002:1>   a = 1
irb(main):003:1> end
=> nil
irb(main):005:0> a.nil?
=> true
irb(main):006:0> b.nil?
NameError: undefined local variable or method `b' for main:Object
    from (irb):6
    from /Users/jlh/.rbenv/versions/2.1.5/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)

为什么不a.nil?undefined local variable?例如,看一下python(只是想将它与解释语言进行比较):

>>> if False:
...     a = 1
... 
>>> print a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
Run Code Online (Sandbox Code Playgroud)

在编译语言中,这甚至不会编译.

  • 这是否意味着ruby保留对该变量的引用,即使它没有经过那段代码?
  • 如果是这样,ifs/else考虑变量定义有多深?

我真的不敢相信这是红宝石中的预期行为.并且它不是特定于irb的,在ruby/rails代码块中运行它会产生相同的结果.

ruby interpreted-language ruby-on-rails abstract-syntax-tree

8
推荐指数
1
解决办法
194
查看次数

如何销售用解释语言编写的代码?

在我看来,如果你用一种解释性的语言写作一定很难销售软件,因为任何购买它的人都可以编辑它/改变它/转售它没有太大的困难.

你怎么解决这个问题?我有几个PHP应用程序,我不愿意向人们销售,因为它似乎太简单了,他们无法更改/阅读/编辑/销售我生产的内容.

interpreted-language

7
推荐指数
4
解决办法
1327
查看次数

针对网站的解释与编译语言(PHP,ASP,Perl,Python等)

我构建了数据库驱动的网站.以前我使用过Perl或PHP和MySQL.

现在我正在开始一个大型的新项目,我希望以能够产生响应速度最快的网站的方式进行.

我在这里看到了几个页面,其中有关如何优化PHP的问题受到各种版本的批评,"因为它是一种解释性语言并不会产生那么大的差异,所以不值得花时间去优化PHP."

我还听过关于编译语言和解释语言的好处的各种讨论(特别是SO播客),似乎使用编译语言来提供网站而不是解释语言符合我的利益.

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

除了速度之外,我认为可以在编译时发现错误而不必调试网站.这是合情合理的吗?

php webserver compiled interpreted-language

7
推荐指数
1
解决办法
8329
查看次数

编译的PHP脚本是否存在?

我想知道是否有人使用或阅读过编译为Apache的.so扩展名的PHP脚本...我想我记得在某处读过它但不知道是否存在这样的事情.

这看起来很有希望,但不完整和被遗弃:http://phpcompiler.org/

我感兴趣,因为我认为它可以提高性能...也许有人可以指出一个框架或apache扩展来做到这一点.

谢谢!!

php apache interpreted-language compiled-language

7
推荐指数
3
解决办法
553
查看次数

假设你有一个AST,写一个解释语言有多难?

我已经有一个我一直在研究的语言的解析器.让它解释困难吗?我觉得它很简单.解析和语法检查完成.我只有一棵物体树.每次创建对象时,我都会创建一个分支并存储其类型(string,int,float,class/obj).然后每次将新成员添加到对象时,我创建一个分支并重复.

我试着让它听起来很简单.我仍然需要检查对象A是否可以添加到对象B等.

AST和语法检查完成之后是否真的相当简单,还是还有很多工作要做?

interpreted-language dynamic abstract-syntax-tree

7
推荐指数
1
解决办法
2003
查看次数

即使函数未在页面上执行,PHP也会在函数内部抛出错误

如果PHP是解释语言(每条线都是在到达时执行的),如果错误发生在一个从未执行过的函数中,它怎么会抛出错误?

或者可能是我没有得到解释的意思?

例如

<?php 

$number = 1;

function square(){

 $foo = 1  //missing semicolon, throws error

}
echo $number;

?>
Run Code Online (Sandbox Code Playgroud)

php interpreted-language

7
推荐指数
1
解决办法
81
查看次数

使用谷歌浏览器(V8)时,Javascript可以被视为解释语言吗?

我正在阅读关于V8的优秀文章,Google的Javascript引擎:https://developers.google.com/v8/design#mach_code.

有一次,他们说Javascript直接编译成机器语言,没有任何字节码或解释器.

报价:

V8首次执行时,会将JavaScript源代码直接编译为机器代码.没有中间字节代码,没有解释器.

那么,为什么Javascript仍然与"脚本"和"解释"语言一起列出,当它被清楚地编译时(至少在V8中)?



编辑:我可以以某种方式从Javascript创建一个可执行文件,如果它被编译?这需要以某种方式将其链接到V8?

考虑到这个问题,我发现了这个引用:

V8可以独立运行,也可以嵌入到任何C++应用程序中.

在这里:http://code.google.com/p/v8/.

javascript browser google-chrome v8 interpreted-language

7
推荐指数
1
解决办法
1576
查看次数

解释语言(即PHP)中的面向对象编程是否有效?

我只是想知道为了速度是否值得坚持使用非OOP代码.此外,在商业网络应用程序中,通常使用或避免使用OOP吗?哪个是标准?

非常感谢,

埃德

php oop performance interpreted-language

7
推荐指数
1
解决办法
1902
查看次数

C++ 也可以解释而不是编译吗?

我知道解释 C++ 代码可能没有实际价值,这个问题仅用于娱乐和学习目的。

是否可以逐条解释 C++ 代码语句而不是编译它?还请解释回答的原因。

如果不可能,是否有可以解释的语言子集?

c++ theory compiler-construction interpreter interpreted-language

6
推荐指数
1
解决办法
2698
查看次数