【发布时间】:2016-11-15 08:58:22
【问题描述】:
Compiler 和 Transpiler 之间的主要区别是什么?请问你能提供一些两者的例子吗?
【问题讨论】:
Compiler 和 Transpiler 之间的主要区别是什么?请问你能提供一些两者的例子吗?
【问题讨论】:
它们本质上是相同的:获取源代码并将其转换为其他内容。
不同之处在于编译器通常会生成一个直接可用的工件(某种可执行的二进制文件)。示例:C(生成二进制文件)、C#(生成字节码)。
而转译器生成另一种形式的源代码(例如,另一种语言),它不能直接运行,需要编译/解释。示例:CoffeeScript 转译器,用于生成 javascript。 Opal(将 ruby 转换为 javascript)
【讨论】:
编译器 - 将代码编译为较低级别的代码。
例子:
"Developer code" -> "Machine code"
PHP -> C
Java -> bytecode
Transpiler - 将代码编译为相同级别的代码/抽象。
例子:
"Developer code" -> "Another developer code or version"
JavaScript ES2015+ -> JavaScript ES5
【讨论】:
转译器
将一种语言的源代码转换为另一种语言的源代码的软件。例如,CoffeeScript、Caffeine、Kaffeine 和超过两打其他语言被转译成 JavaScript。
在哪里 编译器 通常会生成一个直接可用的工件(某种可执行的二进制文件)。示例:C(产生二进制)、C#(产生字节码)。
【讨论】: