3

我想知道脚本和非脚本语言有什么区别。例如像 LUA 和 C++。因为在游戏开发中,我经常读到他们正在招聘必须了解脚本语言的程序员。谢谢!

4

1 回答 1

8

其中一些在本质上具有一定的历史意义。

像 C 和 C++ 这样的非脚本语言被编译成“原始机器代码”(RMC)。然后直接在机器上运行该 RMC。请注意,RMC 通常非常特定于底层 CPU/硬件和支持的操作系统。因此,如果您想在 linux 和 windows 上运行 C 程序,则必须为每个程序编译(维护和分发两个副本)。

脚本语言通常不会被编译。相反,源代码被传递给理解该语言的解释器。解释器本身通常是用一种本身编译为 RMC 的语言编写的。解释器的任务是阅读脚本语言,并将其翻译成 RMC 完成的操作。

近年来(几十年?)随着 Java 这样的系统的出现,这条线已经模糊了。对于像 Java 这样的语言,源代码被编译成一种中间/可移植语言,Java 虚拟机将这种可移植语言翻译成目标 CPU/OS 的操作。

于 2013-08-23T16:26:19.160 回答