Traditionally, a script issued a command to an application, then parsed the resulting string. With the advent of object oriented facilities in scripting languages, applications have started exposing objects to scripts instead. This means that a script manipulates objects instead of strings - which blurs one of the distinctions between scripting languages and conventional programming languages.
In the UNIX environment, the Common Object Request Broker Architecture - CORBA - is a widely-supported standard for distributing objects across applications. It includes facilities for different types of applications, server discovery, and dynamic interfaces. The weakness of CORBA as an interprocess scripting language is that the CORBA efforts have been concentrated on enterprise applications, not desktop applications. As a result, some of the infrastructure standards needed are missing or inadequate.
On the plus side, CORBA support is available for most popular languages, as well as for many of the less popular languages. Exporting objects via CORBA automatically makes the application a server. CORBA requires that the author provide a formal interface definition for all the objects, which is used to automatically build the interface code for the scripts. Once that code is built and the objects are obtained, they can be used just like native objects in the language. The result is a system which makes providing a powerful scripting interface easy.