据推测,Javascript被编译为某种字节码以在V8引擎上运行? Python是否是一种类似的语言,我们可以想象Python被编译为相同的字节码并在V8上运行?
任何试图这样做的项目?
答案 0 :(得分:5)
据我所知,没有专门针对V8虚拟机的项目。然而,Pypy和以前的Unladen Swallow(现在合并到主CPython树的py3k-jit分支中),都试图将Python及时编译为本机代码,类似于V8对Javascript的作用。
正如@something所说,pyjamas允许你编写Python代码并将其转换为Javascript,就像GWT与Java一样。因此,翻译的任何代码与在任何其他Javascript代码下在V8下运行具有相同的好处。
答案 1 :(得分:3)
已经有三个项目提供Python到Javascript编译器。然后,可以在任何引擎(包括V8)上运行生成的Javascript。寻找睡衣,Skulpt和Py2JS。
这与编译Python到V8字节码不同,但最终结果大致相同。
答案 2 :(得分:3)
V8实际上没有通用字节码。有一个正则表达式字节代码,但通常不会编译支持。有一个反序列化字节代码和一个重定位信息字节代码,但两者都是实现细节,你不能将它们用于任何事情。
所以你正在寻找的是编译JS源代码的东西。
答案 3 :(得分:0)
有关在浏览器中运行python的方法,请参阅python wiki页面WebBrowserProgramming。
答案 4 :(得分:0)
你是否正在寻找像“睡衣”这样的东西? http://pyjs.org/
答案 5 :(得分:0)
看一下http://repl.it/ - 这是一个编译成JavaScript的非常完整的Python解释器的例子。这是通过Emscripten - 一个LLVM字节码到Javascript的编译器来实现的。
答案 6 :(得分:-4)
Python已经编译为字节码并执行。这就是.pyc文件在CPython中的含义。 Jython同样编译为Java字节码(动态),IronPython for .NET也是如此