Skip to Main Content
In computing, we often solve a complex problem by adding another level of indirection. When we want to customize large, complex systems or express fluid, rapidly changing requirements, we frequently add a scripting layer on top of the corresponding system. Scripting languages glued to applications serve an important purpose: they greatly ease the application's configuration and customization and support end-user programming by offering a safe and friendly development environment. The scripting language typically offers automatic memory management, a powerful string data type, sophisticated data structures, a rich repertoire of operations, and an intuitive API for manipulating application data and state. Additionally, by interpreting the scripting language, the application can isolate itself from undesirable effects of the scripting code, such as crashes and data corruption. With the evolution of Java and Microsoft's .Net, the niche occupied by scripting languages is rapidly shrinking.