A scripting engine is commonly defined as a vehicle for implementing scripts in scripting languages. These differ from other programming languages commonly called "system programming languages." Although the line between scripting languages and other languages may be somewhat difficult to demarcate, scripting languages are generally built on platforms that allow code to be written with a little more automation than the traditional method of writing executable code by hand.
In order to implement a scripting engine, a user needs to understand the nature of a scripting language and how it works. Scripting languages, which tend to be associated with smaller programs, often sidestep a compiler and provide programmers with more access to source code or executable code, which may be less accessible in compiled languages.
Scripting engines differ based on the scripting language that is supported. Users may need to look at system requirements, as well as how a scripting engine will fit into an existing software architecture, to determine which type of scripting engine to use. Programmers will typically go through many different steps to use scripting engines in ways that will provide similar results to simply writing executable code in a non-scripting language.