In computer science, a software engine refers to the core of a computer program. Software engines drive the functionality of the program, and are distinct from peripheral aspects of the program, such as look and feel.
The term Engine when used to describe a piece of software is frequently used by developers when speaking to a wider, layman audience, to describe what they would otherwise refer to as library, platform, SDK or object, to denote an encapsulated block of functionality.
The term most frequently shows up in marketing material that need to describe software internals, as well as in product names. (see http://www.ableton.com/live-7-whats-new, http://www.alphaworks.ibm.com/tech/streamingengine, http://embird.com/sw/embird/fonteng.htm)
Distinct definitions have however become established in certain fields, such as 3D rendering engine or game engine. Many of these have that in common, that they describe an input/output system where the output is of a different order than the input, such as the conversion of HTML to a rendered page, as opposed something like a spell checking component where the input and output are of the same order, only slightly different. But it is not a rule, just a tendency.
ar: ca:Motor de programari fa: pl:Silnik (informatyka) ru: sv:Motor (datalogi)