interpreted-language相关内容
我只是不知道,这有什么技术原因吗?为弱类型的语言实现编译器是否更难?这是什么? 解决方案 问题背后的前提有点狡猾.解释语言大多是鸭式的,这是不正确的.编译语言大多具有强类型是不正确的.类型系统是一种语言的属性.编译与解释是实现的属性. 例子: Scheme 是动态类型的编程语言(又名鸭子类型),它有许多解释实现,但也有一些优秀的本地代码编译器,包括 Larceny、Gambit
..
我在某处读到 Clojure 已编译.它真的是像 Java 或 Scala 那样编译的,而不是像 Jython 或 JRuby 那样解释的吗? 解决方案 Clojure 总是编译. Clojure 编译器生成 Java 字节码,然后通常由 JVM 将其 JIT 编译为本机代码. 令人困惑的是 Clojure 的动态和交互性质,这意味着您可以在运行时调用编译器.这是 Lisp“代
..
我构建了数据库驱动的网站.以前我在 MySQL 中使用过 Perl 或 PHP. 现在我正在启动一个新的大项目,我希望以能够响应速度最快的网站的方式进行. 我在这里看到了几个页面,其中关于如何优化 PHP 的问题受到各种版本的批评,“不值得花费大量精力来优化 PHP,因为它是一种解释性语言,并且不会产生太大差异". 我还听到了各种关于编译语言与解释语言的好处的讨论(特别是在 SO
..
根据我的理解: 解释性语言是一种高级语言,由解释器(一种将高级语言转换为机器代码然后执行的程序)在旅途中运行和执行;它一次处理一些程序. 编译语言是一种高级语言,其代码首先由编译器(将高级语言转换为机器代码的程序)转换为机器码,然后由编译器执行executor(另一个运行代码的程序). 如果我的定义有误,请纠正我. 现在回到 Python,我对此有点困惑.你到处都知道 Py
..
我已经了解到 Python 是一种解释型语言... 但是,当我查看我的 Python 源代码时,我看到了 .pyc 文件,Windows 将这些文件标识为“已编译的 Python 文件". 这些是从哪里来的? 解决方案 它们包含字节码,这是 Python 解释器将源代码编译为的内容.然后这段代码由 Python 的虚拟机执行. Python 的文档解释了这样的定义: P
..
Perl 是编译的还是解释的? 解决方案 嗯,这取决于您所说的编译语言是什么意思.也许这就是谷歌搜索没有为您的问题提供明确答案的原因. 一种观点是编译意味着从源代码描述编译到另一个,即代码生成. 如果我们接受这些前提,那么 Perl 6 就可以编译,而 Perl 5 和更早的版本是解释性语言. Perl 6 专门编译为 Parrot 字节码.因此,Perl 6 是一种正确
..
我正在阅读解释型语言的优缺点,最常见的缺点之一是速度慢,但为什么解释型语言的程序慢? 解决方案 本机程序使用为它们运行的处理器编写的指令运行. 解释型语言就是“解释型".一些其他形式的指令由运行时读取和解释,然后执行本机机器指令. 这样想.如果您可以用您的母语与某人交谈,这通常比让口译员将您的语言翻译成其他语言以供听众理解要快得多. 请注意,我上面描述的内容是针对在解
..
阅读所有已编译与已解释的文章,似乎已编译意味着机器将直接运行已编译的代码,而已解释的机器将由解释程序运行代码.但是,如果解释器在机器上,则解释器如何运行该代码?难道它还没有最终不得不将其解释转换为机器代码并仍然让机器运行它吗?归根结底,所有东西最终都必须是机器代码,机器才能正常运行?似乎解释只是意味着它一次在一行语言中运行,而编译意味着一次遍历所有语言.在那之后,几乎是一样的权利吗? 解决方
..
在为 所有当前的Ruby 实现被编译为 字节码.与SAP的主张相反, 在Ruby 1.9中,MRI本身包括一个 字节码编译器,尽管具有该功能 将编译后的字节码保存到磁盘 在过程中的某个地方消失了 合并YARV虚拟机的过程. JRuby被编译成Java .class 文件.我没有很多细节 在MagLev上,但可以肯定地说 也会走那条路. 对于Ruby的编译/解释问题,我感到困惑. 我了
..
要明确的是,可执行文件并不是要为处理器准备好文字字节.例如,当将解释器添加到顶部以指定脚本应由/bin/bash或/bin/sh或任何要解释它的程序运行时,被解释且不可执行的bash脚本将变为可执行文件. 我想知道是否可以使用Java,Java从技术上讲不是一种脚本语言,但绝对不能执行.似乎Java很难,因为用户实际上没有机会在编译文件中添加shebang,并且编译后的Java不能来自std
..
为什么在解释语言中#通常会引入注释?这个问题是在Shell编程考试中被问到的,但是我没有找到为什么它是#的任何提示。 任何想法吗? 解决方案 make使用#注释构造;和sh(第一个外壳程序)使用相同的#注释。后来的shell(csh,ksh,bash,jsh等)的作者理解,如果每个人都有自己的注释约定,这将给用户带来负担,特别是因为所有这些shell脚本都可以运行在任何壳下。
..
我需要一些资源来实现简单的虚拟机和解释语言.实用的东西是最有用的.我已经阅读了《虚拟机实施》一书,发现它已经很老了,并不代表我今天看到的虚拟机.同样,如果有人知道一种相当简单的语言,那也很好. 解决方案 检查 Lua 5.0的实现
..
根据我到目前为止所读的内容,bash似乎符合解释语言的定义: 它没有被编译成较低的格式 每个语句最终都调用已经转换为机器代码的子例程/子例程集(即echo foo调用预编译的可执行文件) 解释器本身bash已被编译 但是,我在维基百科的解释性语言页面上找不到bash的引用 ,或在Google上进行广泛搜索.我还在程序员堆栈上找到了页面交换似乎暗示bash不是一种解释语言-如果不是,
..
我刚刚注意到,在Ruby的Wikipedia页面中,该语言被定义为解释语言. 我了解我的背景中可能缺少一些东西. 我一直都知道不需要编译器的解释语言和需要在执行程序之前先进行编译的编译语言之间的区别,但是脚本语言的特征是什么? Ruby是否可以定义为脚本语言? 谢谢您,请原谅我没事 解决方案 事物不仅是黑白的.至少它们也大小不一,响亮而安静,蓝色和橙色,灰色和灰色,长短,对与错
..
在smalltalk中,您可以将世界状态保存到图像文件中.我认为这与Smalltalk自身“序列化"的能力有关-也就是说,对象可以产生自己的源代码. 1)这是一个准确的理解吗? 2)将这种功能添加到现代语言(显然不是lisp)会面临什么挑战? 3)“序列化"是正确的词吗?什么是正确的行话? 解决方案 比“序列化"简单得多. Smalltalk映像只是对象内存的快照.它获取
..
在诸如PHP和JavaScript之类的解释性编程语言中,采用面向对象方法而不是过程方法的后果是什么? 我要寻找的是一份清单,这些清单是创建Web应用程序以及在过程式和面向对象的方法之间进行选择时要考虑的事项清单,不仅可以优化速度,而且还可以优化可维护性.如果您知道有任何进一步探讨该问题的文章,那么引用的研究和测试案例也将有所帮助. 最重要的是:当使用解释语言的OO与过程比较时,性能真
..
首先,为了避免重复的问题,我查看了以下帖子. https://stackoverflow.com/questions/1184717/hungarian-notation “>为什么我不应该使用“匈牙利符号"? 是否真的需要变量前缀(“匈牙利表示法")了吗? 人们是否真正使用匈牙利命名约定世界? 现在,所有这些帖子都与C#,C ++,Java(强类型语言)相关. 我确实知道在编
..
Javascript可以被称为纯解释语言吗?或者它也有一些编译风味吗?有人可以指出两种情况背后的原因。 解决方案 去阅读这个问题的答案 https://softwareengineering.stackexchange。 com / questions / 138521 / is-javascript-interpretation-by-design 我接受的答案非常好,应该有
..
我被告知可以解释haskell文件(我认为这意味着它们将像Ruby / Python / Perl一样工作)。尽管如此,在ghc上找不到命令行选项。它总是想编译我的文件。看看ghci也是如此,但它总是将我转化为repl。 我基本上只想做 ghc -i MyFile .hs (其中-i是我假装与解释模式相关的标志),并执行它,以便在尝试创意和学习时获得快速反馈。 / p> 解决方案
..
由于python程序被解释了,所以我不得不使用C / Java背景来实现Python的相互递归。如果我在同一个python文件中有两个函数: def A(n): B(n-1) #如果我在这里添加A(1),它给了我一个错误 def B(n): 如果n return else: A(n-1) 解释器正在读取 A , B 尚未定义,但此代码确实不会给我一个错误
..