我想知道脚本语言和非脚本语言的区别。例如像LUA和C++这样的语言。因为在游戏开发中,我经常看到他们招聘必须懂脚本语言的程序员。谢谢!
我想知道脚本语言和非脚本语言的区别。例如像LUA和C++这样的语言。因为在游戏开发中,我经常看到他们招聘必须懂脚本语言的程序员。谢谢!
其中一部分内容具有历史性质。
非脚本语言例如C和C++被编译成“原始机器码”(RMC)。该RMC直接在计算机上运行。需要注意的是,RMC通常与底层CPU/硬件以及支持的操作系统非常相关。因此,如果要在Linux和Windows上运行C程序,则必须为每个系统编译代码(两份副本来维护和分发)。
脚本语言通常不会被编译。相反,源代码传递给能够理解该语言的解释器。解释器本身通常是用编译成RMC的语言编写的。解释器的任务是读取脚本语言,并将其转换为RMC执行的操作。
随着Java等系统的出现,近年(几十年?)来这些界限已经模糊了。对于像Java这样的语言,源代码被编译为中间/可移植语言,而Java虚拟机处理将该可移植语言转换为目标CPU/操作系统执行操作的过程。