Paradigm | procedural |
---|---|
Designed by | Dan Winkler |
Developer | Apple Computer Inc. |
First appeared | 1987 |
Influenced by | |
Natural language, Pascal | |
Influenced | |
ActionScript, AppleScript, ECMAScript, JavaScript, Lingo, LiveCode, SenseTalk, SuperTalk |
HyperTalk is a high-level, procedural programming language created in 1987 by Dan Winkler and used in conjunction with Apple Computer's HyperCard hypermedia program by Bill Atkinson. The main target audience of HyperTalk was beginning programmers, hence HyperTalk programmers were usually called authors, and the process of writing programs was called "scripting". HyperTalk scripts are fairly similar to written English, and use a logic structure similar to that of the Pascal programming language.
It supports the basic control structures of procedural languages: repeat for/while/until, if/then/else, as well as function and message "handler" calls (a handler is a subroutine, a message handler is a procedure). Data types are transparent to the user, conversion happens transparently in the background between strings and numbers. There are no classes or data structures in the traditional sense; their place was taken by special string literals, or rather "lists" of "items" delimited by commas (in later versions the "itemDelimiter" property allowed choosing an arbitrary character).
The case-insensitive language was interpreted at first, but gained just-in-time compilation with HyperCard 2.0.
For most basic operations and mathematics, HyperTalk tended to favor the natural-language ordering of predicates in a statement to that used in mathematical notation. For instance, HyperTalk used the put
assignment command that placed the variable at the end:
whereas in the more traditional BASIC programming language (and most others), the result of a basic multiplication would be saved in a variable by writing: