Iva*_*tha 2 programming-languages
在我的讲义“语言实现系统”中解释为,
语言实现系统提供高级语言程序到机器指令的接口。
经过维基百科给我的搜索,
编程语言实现是用于执行计算机程序的系统。
但是我很难理解这个概念。它是在谈论 JVM(Java 虚拟机)之类的东西吗?
有人可以用更简单的术语向我解释这一点吗?
我试一试。
编程语言实现描述了如何将您的代码(例如 Java)作为示例转换为机器(处理器等)理解的语言的方法。我们将其称为机器码。
这有两种主要形式,编译和解释。
从技术上讲,正如维基百科页面所指出的,编译是将一种编程语言转换为另一种编程语言(通常是较低级别的语言)。传统上,这指的是将多个输入文件组合成一个可在目标系统上运行的单个文件。
在解释性语言中,程序在您的机器上运行时被逐个转换。
您提到了 Java 虚拟机,所以我将使用它作为示例。在JVM中,Java代码被编译成Java字节码使用javac。该字节码随后由 Java 虚拟机解释并在底层硬件上运行。这就是java命令的作用。虽然 Java 可以被描述为一种编译型和解释型语言,但将 Java 本身视为一种编译型语言,而将 Java 字节码视为一种解释型语言可能更容易。
相比之下,C 和 C++ 等其他语言通常直接转换(编译)为目标硬件平台的机器码。
除此之外,正如@kostix 在评论中指出的那样,还存在transpiling或 source-to-source 编译。转译是指将一种高级语言转换为另一种高级语言。一个常见的例子是将 JavaScript ES6 转换为 JavaScript ES5 以实现向后兼容性,或者将 C++ 转换为 JavaScript
| 归档时间: |
|
| 查看次数: |
1579 次 |
| 最近记录: |