| Feature |
Frontier |
AppleScript |
| Looping, if then else, case statement, scoping, sub-procedures. |
Yes |
Yes |
| Error recovery is built into the language. |
Yes |
Yes |
| Language is integrated with a storage system, allowing easy and efficient access to temporary values (locals) and values that persist between invocations of the script. |
Yes |
No |
| Structural symbols such as semicolons, curly braces, begin/end, are not necessary. |
Yes |
No |
| Scripts are compiled into an intermediate (p-code) form prior to execution. |
Yes |
Yes |
| Variable typing is dynamic, with predictable coercion built into the runtime. |
Yes |
No |
| Environment is multi-threaded, allowing multiple scripts to run concurrently. |
Yes |
No |
| Scripts can be scheduled to run periodically or at specific times. |
Yes |
No |
| Full access to Macintosh OS and file system thru built-in verb set. |
Yes |
No |
| Outline-oriented script editor |
Yes |
No |
| Scriptable script editor |
Yes |
No |
| Full-featured, integrated script editor. |
Yes |
No |
| Script editor is scriptable. |
Yes |
No |
| Find & Replace within a single script and over groups of scripts. Case insensitive search, wrap around, find language identifiers. |
Yes |
No |
| Allows editing of program structure. |
Yes |
No |
| Fully integrated script debugger. Set a breakpoint at any statement, step from statement to statement, go into a script call, go out from a script call, trace statement execution, resume normal execution, halt the script. |
Yes |
No |
| Examine and edit all local and global variables in the storage system while any number of scripts are running. |
Yes |
No |
| When a syntax or runtime error occurs, user can jump to the line where the error occurs, with all script editing features enabled. View all local and global variables before terminating the script. |
Yes |
No |
| Has a persistent storage system. Allows script writers to access groups of small and large values as a natural part of the language, efficiently, without having to implement a file format for each script. |
Yes |
No |
| The storage system is hierarchic, allowing groups of objects be treated as a single object. |
Yes |
No |
| Directly supports the following standard data types: boolean, character, 16-bit signed integers, 32-bit signed integers, floating point numbers, date, text, picture. |
Yes |
Yes |
| Allow arbitrary un-typed binary objects to be stored using the same naming scheme as for directly supported types. |
Yes |
No |
| Store and run scripts and executable machine code (e.g. XCMDs, UCMDs, OSAXs). |
Yes |
Yes |
| Run dialogs created with a resource editing tool such as ResEdit or Resorcerer. |
Yes |
No |
| Menu editor allows script writers to add commands to the Finder's menu bar, and to the menu bars of compatible applications (menu sharing). |
Yes |
No |
| Scripts can include standard "file dialogs" in their scripts. |
Yes |
Yes |
| Graphic interface builder makes it easy for script writers to front-end their scripts with standard user interface elements. |
Beta |
No |
| Code is re-usable. Scripts can call other scripts, passing parameters and receiving multiple returned values. |
Yes |
No |
| Run "agent" scripts in the background. |
Yes |
Yes |
| Scripts can handle incoming Apple Events. |
Yes |
Yes |
| Apple Events can be processed while waiting for a response from a message. |
Yes |
No |
| Script writers can add new verbs to the language. |
Yes |
No |
| C, Pascal programmers can add verbs to the language. |
Yes |
No |
| Scripts can be compiled into an intermediate non-human-readable form, and it's possible to distribute scripts in this form. |
Yes |
No |
| Software Developer's Kit (SDK) with toolkits and sample code for all architecture features. Full C source code included. Available at no cost, on-line. Royalty-free license for all code. |
Yes |
No |
| Supports the client side of all major interapplication protocols including Apple Events, object model, system-level Apple Events, Dynamic Data Exchange (DDE) and application-specific models such as Aldus Corp's Additions protocol |
Yes |
No |
| Supports recording for applications that are recordable. |
Yes |
Yes |
| Is a scriptable application, allowing script writers to customize its feature set. |
Yes |
No |
| Supports Open Scripting Architecture (OSA). |
Yes |
Yes |
| On-line documentation server. Information about each built-in verb. Hot-link from script editor. Other developers can add documentation for application-specific verbs. It's a scriptable application. |
Yes |
No |
| Sample scripts illustrate all commonly used scripting techniques. Distributed on-line. |
Yes |
No |