While there are other, occasionally more powerful, scripting languages that can be used with OSA, these languages share the common disadvantage of being far less intuitive than AppleScript. OSA and AppleScript are intuitive in part because of their object-oriented design. Each application defines objects that are appropriate to its purpose. In the case of a word processing program, the objects might be words, paragraphs, characters, and documents. In a sequence assembly program, the objects might be sequences, contigs, and individual bases.
Objects have properties that can be referenced by a script.
The properties of a sequence fragment might be its length, how it was obtained, and when it was last edited. In addition to having these properties, objects can also contain other objects. In our sequence assembly example, the contig object could contain sequence fragment objects, and those fragment objects could contain base objects. Of course, all these objects must be defined by the application programmers. Let's take an example task to be automated by a script.