Aviva Directory » Computers & Internet » Programming » xTalk (languages) » HyperTalk & HyperCard

HyperTalk is a high-level, procedural programming language that was used in conjunction with Apple Computer's HyperCard hypermedia program.

Designed by Dan Winkler in 1987, the target audience for the language was beginning programmers. HyperTalk programmers were referred to as authors, and the process of coding programs was known as scripting. HyperTalk scripts resemble written English, using a structure that is similar to Pascal.

In the late 1980s, Apple considered making the scripting language standard across the company, including it within its class Mac OS operating system and in other Apple products. While Apple did not oppose the development of imitations, like SuperCard, it created the HyperTalk Standards Committee in order to encourage compatibility between the variants of the language.

Although the final release of HyperCard was in 1998, and the Apple withdrew the product from sale in 2004, HyperTalk was given another lease on life through its plugin protocol, known as External Commands (XCMDs) and External Functions (XFCNs), when some XCMD authors extended the language with advanced features, special-purpose windows, drag-and-drop support, and other hardware interfaces.

Other scripting languages that were strongly influenced by HyperTalk are commonly grouped within the xTalk family of languages. These include CompileIt!-Talk, Double-XX-Talk, MediaTalk, PlusTalk, SenseTalk, SuperTalk, Transcript, and XION. These clones added features to the language that are expected from modern programming languages, such as exception handling, user-defined object properties, multi-threading, and user-defined objects.

HyperCard is a development kit created for the Apple Macintosh and Apple IIGS. Released in 1987, it was included with all new Macs sold then and was also offered for sale separately. The last release of the software application was in 1998, and it was withdrawn from sale in 2004. HyperCard runs in the Classic Mac environment, but was not ported to Mac OS X.

HyperCard combines a flat-file database with a graphical, flexible, user-modifiable interface, and includes HyperTalk as a built-in programming language, used for the user interface and for the manipulation of data.

HyperCard is modeled on the concept of a stack of virtual cards, which hold data, much like a Rolodex. Each card holds a set of interactive objects, such as text fields, checkboxes, buttons, and common GUI elements. Users would browse the stack of cards by navigating from card to card through the use of a search mechanism, user-created scripts, and built-in navigation features.

Users could build or modify stacks by adding new cards through a drag-and-drop interface. The system included template cards known as backgrounds. When adding new cards, users could refer to one of these background cards, resulting in all of the objects on the background to be copied onto the new card, allowing for common layouts and functionality.

HyperCard's object-oriented scripting language, HyperTalk, supported most standard programming structures. HyperTalk code segments were referred to as scripts.

HyperCard could be extended through the use of External Command (XCMD) and External Function (XFCN) modules, which are code libraries packaged in a resource fork that either integrates with the system generally or with HyperTalk specifically. This was an early example of the plugin idea. However, these plugins didn't require a separate installation but could be included in a stack.

According to tradition, Bill Atkinson created HyperCard after an LSD trip, and originally referred to it as WildCard. Dan Winkler began developing HyperTalk in 1986, and the final product, which included the language, was changed to HyperCard. Atkinson released HyperCard to Apple with the stipulation that it be included free on all Macs.

HyperCard runs natively only in the Classic Mac OS, but it can be used in the Mac OS X Classic mode on PowerPC-based machines, G5 and earlier. The last native HyperCard authoring environment is Classic mode in Mac OS X 10.4 (Tiger) on PowerPC-based machines.

HyperCard declined with the growth of the World Wide Web since the Web could handle and deliver data in a manner similar to HyperCard without being limited to files that existed on the local hard drive. However, HyperCard inspired the creation of HTTP and JavaScript and inspired the creation of ViolaWWW, an early web browser. The pointing-finger cursor that was used for navigating stacks was incorporated in the first web browsers, as the hyperlink cursor. Additionally, the Wiki concept was first used in a HyperCard stack written by Ward Cunningham, the creator of Wiki.

Similar products include HyperNext, HyperStudio, LiveCode, and SuperCard.

Topics related to HyperTalk or HyperCard are the focus of this category.



Recommended Resources

Search for HyperTalk & HyperCard on Google or Bing