LISP是编译语言还是解释语言?

时间:2016-03-24 03:56:50

标签: lisp

我知道严格来说,作为编译或解释语言,没有这样的东西。

但是,一般来说,LISP用于编写Python,bash脚本和批处理脚本等脚本吗?

或者它是一种通用编程语言,如C ++,JAVA和C#?

任何人都可以用简单的方式解释这个吗?

3 个答案:

答案 0 :(得分:1)

早期版本的Lisp编程语言和Dartmouth BASIC将是解释器语言的示例(解析源代码并直接执行其行为)。但是,Common lisp(当前版本)是一种编译器语言。

请注意,大多数Lisp编译器不是Just In Time编译器。作为程序员,您可以调用编译器,例如在Common Lisp中使用函数COMPILECOMPILE-FILE。然后编译Lisp代码。

此外,大多数具有编译器和解释器的Lisp系统允许自由混合解释和编译代码的执行。

有关详细信息,请查看here

答案 1 :(得分:0)

Lisp是一种经过编译的通用语言,现代使用。

澄清:

  • “LISP”现在被理解为“Common Lisp”
  • Common Lisp是ANSI标准
  • Common Lisp有几种实现,包括免费和商业

通常编译代码,然后加载到图像中。编译和加载整个系统的各个部分/文件的顺序通常是通过系统定义工具(现在主要是指ASDF)来定义的。

大多数实现还提供了一种在启动时加载源代码的方法。例如:

sbcl --load 'foo.lisp'

这使得也可以将lisp源文件用作“脚本”,即使它们很可能在执行之前被编译。

答案 2 :(得分:-2)

传统上,LISP可以被解释或编译 - 其中一些可以同时运行。在某些情况下,编译将是像JAVA这样的虚拟机。

LISP是一种通用编程语言,但很少再使用它。在微型LISP机器的时代,整个操作系统,包括网络,图形和打印机驱动程序等,都是用LISP本身编写的。例如,第一个IMAP邮件客户端完全是用LISP编写的。

这种不寻常的语法可能使其他编程语言(如Python)更具吸引力。但如果仔细观察,你可以找到像Perl这样流行语言的LISP风格元素。