Frage

I have a general terminology question. When is a piece of code or a toolkit considered an 'engine'?

For example, Google's Javascript interpreter is called the 'V8 Engine,' or Unreal's renderer is called the 'Unreal Engine.' Is there a specific point (size, complexity, purpose, or otherwise) at which a framework or a set of algorithms is formally considered an engine?

War es hilfreich?

Lösung

An engine is an analogy. A software engine runs another layer of code, normally.

One characteristic of a software engine: it isn't meant to stand on its own. It supplies the motor... but leaves it to you to make a finished car.

Andere Tipps

No. Things are called engines when their creator(s) wants to call them an engine.

I would say that if you make an API for a complete task (like interpreting javascript or rendering 3d graphics) then you could call it an engine. But there is no exact definition. It is more of a way to find a proper word for what you have created. Same goes for framework.

It is a bit arbitrary, but one thing all of the software engines I have seen have in common is the ability to run arbitrary code. That is certainly true of V8(javascript), and Unreal engine (unrealscript). They differ from VMs in that they don't define an abstract machine like the JVM does. Interpreter often doesn't fit the bill either, V8 JIT compiles it doesn't interpret anything, and Unreal does so much more than interpret unrealscript.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top