StepTalk is the official GNUstep scripting framework. In fact, StepTalk is more than a scripting framework with an illusion of single objective environment between objects of scriptable servers or applications. StepTalk, when combined with the dynamism that the Objective-C language provides, goes way beyond mere scripting. It is language independent - it uses languages as separate bundles.
Goal for StepTalk? is to provide an environment for gluing applications together - one uses StepTalk to make apps cooperate on a single user defined task. Other not-so-minor goals are:
- simple and quick extensions of applications or tools
- batch-processing of objects in applications or tools
- fast prototyping of applications or new application features (play and tune a concept "online")
It does not mean that the framewor should not be used for whole application development, however it was never designed for that purpose. I would call StepTalk application development a fast prototyping of an application.
The StepTalk features a framework, set of tools, language bundle, modules and object finders. The framework provides an application interface for developers to make their products scriptable. For more information about the tools, see StepTalk tools. Concerning the scripting language, the StepTalk is a language independent framework It can be extended by the "language bundles" providing other scripting languages. One experimental language bundle for Guile is included in the sources package.
The default scripting language in StepTalk is Smalltalk. This is because Smalltalk is a very simple language and it is easy to learn. There are just a few basic principles that the user has to know to be able to use the language and it is close to the natural language. Smalltalk uses a similar approach to that of Objective-C, the language used in GNUstep itself.
Object Finders are an illusion of single objective environment. Name of an object may me known, but the object itself not. The object may be an application or it may reside on other host. Object Finder is an object that will search for object by specified name.
- Distributed Object Finder - This finder will try to look for a registered named object. It is possible to specify list of possible hosts where the object may reside and to specify a program that will provide the object if it cannot be found.
- Application Finder - Looks for a locally installed application and tries to connect to it. If the application is not running, it will try to launch it.
Projects using StepTalk
MolTalk - a computational environment for doing Structural Bioinformatics. It interprets PDB formatted files and creates an object representation of the structure-chain-residue-atom hierarchy. Through the use of MolTalk, the PDB suddenly becomes an object-oriented database.