PHP是解释型语言还是编译型语言
回复内容:
PHP是解释型语言吗?使用APC之后呢?
现在语言的发展,一门语言是否是解释型已经不那么容易分辨了。
你说PHP是解释型语言,Facebook很早就开发过hiphop编译器,将PHP编译成C++再编译成二进制。
你说Python是解释型语言,Cython是用python语法进行开发最后编译成二进制。
你说用解释器就是解释型语言,依赖于JVM的一大票语言要跟你急了。
解释型语言可以使用某种编译器,但它依旧是解释型语言。语言解释器同样需要使用编译原理。判断一种语言是编译器还是解释器,需要看该语言是否需要一个虚拟机(解释器)才可以运行。
通常,解释型语言使用前被编译为字节码,虚拟机动态执行字节码。为了提高性能,虚拟机执行代码时,可以利用 JIT 技术来动态的把字节码翻译成机器码。
因为字节码它不可能脱离虚拟机运行,因此它依旧是解释型语言。简而言之,编译型语言的编译(编译到机器码)发生在运行之前,解释型语言的编译发生在每一次运行时。
有些语言同时是编译型和解释型语言。可以在调试时使用解释器,调试后使用编译器。最著名的例子是 Lisp。有人曾在 Parrot 虚拟机上实现了 C 语言解释器,支持 C99 标准。
PHP是解释型语言,将PHP代码解释为opcode之后再交由Zend引擎执行。
使用APC只是缓存了opcode,减少了PHP解释为opcode这一步骤的时间而已。
解释型的
推荐阅读
-
java为什么是半编译半解释型语言
-
用C语言判断一个机器字节序列的存储模式是大端还是小端存储以及浮点型在内存中的存储
-
C语言中的long型究竟占4个字节还是8个字节(遇到的坑)
-
yii2 - 请问顺丰速运这样的物流网站是用什么语言写的?是php还是java?
-
Crystal最新发布v1.3.0语法相似Ruby编译型编程语言
-
PHP是解释型语言还是编译型语言
-
为什么facebook的hiphop要把php转换成了C++而不是把php改成编译型的语言,直接执行编译后的文件不是更快么?
-
javascript - PHP是世界上最好的语言,这是玩笑还是事实?
-
javascript - PHP是世界上最好的语言,这是玩笑还是事实?
-
java为什么是半编译半解释型语言