Paradigm | Natural language programming, Scripting |
---|---|
Developer | Apple Inc. |
First appeared | 1993 |
Stable release |
2.7 / October 16, 2014
|
Typing discipline | Weak, dynamic |
OS | System 7, Mac OS 8, Mac OS 9, macOS |
License | Proprietary (parts available under APSL) |
Filename extensions | .scpt, .scptd, .AppleScript |
Website | https: |
Influenced by | |
Natural language, HyperCard |
AppleScript is a scripting language created by Apple Inc. and built into the Classic Mac OS since System 7 and into all versions of macOS. The term "AppleScript" may refer to the scripting system itself, or to an individual script written in the AppleScript language.
AppleScript is primarily a scripting language developed by Apple to do Inter-Application Communication (IAC) using AppleEvents. AppleScript is related to, but different from, AppleEvents. AppleEvents is designed to exchange data between and control other applications in order to automate repetitive tasks. AppleScript has some limited processing abilities of its own, in addition to sending and receiving AppleEvents to applications. AppleScript can do basic calculations and complex text processing, and is extensible, allowing the use of scripting additions that add new functions to the language. Mainly, however, AppleScript relies on the functionality of applications and processes to handle complex tasks. As a structured command language, AppleScript can be compared to Unix shells, the Microsoft Windows Script Host, or IBM REXX in its functionality, but it is unique from all three. Essential to its functionality is the fact that Macintosh applications publish "dictionaries" of addressable objects and operations.
AppleScript has some elements of object-oriented programming, particularly in the construction of script objects, and natural language programming tendencies in its syntax, but does not strictly conform to either category.
The AppleScript project was an attempt to consolidate a proliferation of scripting languages created and maintained by different groups and products at Apple. AppleScript was partly modeled on HyperCard's simple English language-based scripting language called HyperTalk, which could be used by novices to program a HyperCard stack. Apple engineers recognized that a similar, but more object-oriented scripting language could be designed to be used with any application, and the AppleScript project was born as a spin-off of a research effort to modernize the Macintosh as a whole and finally became part of System 7.