1

我有一个通用术语问题。何时将一段代码或工具包视为“引擎”?

例如,Google 的 Javascript 解释器被称为“V8 引擎”,或者 Unreal 的渲染器被称为“Unreal Engine”。框架或一组算法是否有特定的点(大小、复杂性、目的或其他)被正式视为引擎?

4

4 回答 4

2

引擎是一个类比。通常,软件引擎运行另一层代码。

软件引擎的一个特点:它并不意味着独立存在。它提供马达……但留给你制造一辆成品车。

于 2013-05-23T21:20:10.230 回答
2

不。当事物的创建者想要称它们为引擎时,它们被称为引擎。

于 2013-05-23T21:13:32.923 回答
1

我想说,如果你为一个完整的任务(比如解释 javascript 或渲染 3d 图形)创建一个 API,那么你可以称它为引擎。但是没有确切的定义。这更像是一种为你所创造的东西找到一个合适的词的方法。框架也是如此。

于 2013-05-23T21:21:07.000 回答
1

这有点武断,但我见过的所有软件引擎都有一个共同点,那就是运行任意代码的能力。V8(javascript)和虚幻引擎(unrealscript)当然是这样。它们与 VM 的不同之处在于它们不像 JVM 那样定义抽象机器。解释器通常也不符合要求,V8 JIT 编译它不解释任何东西,而 Unreal 所做的远不止解释 unrealscript。

于 2013-05-23T21:24:07.723 回答