Generated by DeepSeek V3.2| Revolution (programming language) | |
|---|---|
| Name | Revolution |
| Paradigm | Event-driven programming, Object-oriented programming |
| Designer | HyperCard |
| Developer | Runtime Revolution (later LiveCode Ltd) |
| Typing | Dynamic typing |
| Influenced by | HyperTalk |
| Influenced | LiveCode |
| Operating system | Microsoft Windows, macOS, Linux |
| License | Proprietary (originally), later Open source |
Revolution (programming language). Revolution is a high-level, cross-platform programming language and integrated development environment originally developed by Runtime Revolution. It is a direct descendant of the HyperTalk language used in Apple Inc.'s HyperCard, designed to enable rapid application development. The language is noted for its English-like syntax, which aims to be accessible to novice programmers while remaining powerful for professional software creation. It evolved into the open-source LiveCode platform, which continues its development and philosophy.
The language was created in the 1990s by Runtime Revolution, a company founded by Kevin Miller, as a commercial successor to the HyperCard environment, which was being discontinued by Apple Inc.. Its development was driven by the desire to preserve the intuitive, English-like scripting of HyperTalk while extending it to create standalone applications for multiple operating systems, including Microsoft Windows and Linux, beyond the original Classic Mac OS. In 2001, the company released a version for Mac OS X, solidifying its cross-platform ambitions. The project gained a significant following among educators and database developers. In 2010, the company was renamed LiveCode Ltd and the language engine was open-sourced under the GNU General Public License, leading to the rebranding of the platform as LiveCode.
Revolution is designed as a dynamically typed, interpreted language built around the concept of a message-passing, object-oriented model. Its core philosophy centers on readability and ease of use, with a syntax that closely resembles natural English. Key features include a powerful, built-in database engine for managing SQLite and other external data sources, and comprehensive support for multimedia through integration with QuickTime and other libraries. The language employs a event-driven architecture, where handlers for events like `mouseUp` or `openCard` control program flow. It also supports the creation of standalone applications, compiled for deployment on Microsoft Windows, macOS, and Linux without requiring a separate runtime.
The Revolution environment is an IDE known for its visual, card-and-stack metaphor inherited directly from HyperCard. Developers work within a main window called a stack, which contains individual cards that serve as application interfaces. The environment includes a graphical property inspector, a script editor for writing code, and a palette of tools for placing interface objects like buttons, fields, and graphics. A powerful Debugger is integrated, allowing for step-by-step execution and variable inspection. The toolset is designed to facilitate RAD, enabling the quick prototyping and building of graphical user interfaces for desktop and server applications.
The syntax of Revolution is notable for its verbose, readable style. Commands often begin with verbs, and object references use a hierarchical path. For example, to put text into a field, one might write: `put "Hello, World" into field "Greeting" of card 1`. Control structures use plain English terms: `repeat with x = 1 to 10; add 1 to total; end repeat`. Event handlers are central, structured as: `on mouseUp; answer "Button clicked"; end mouseUp`. This approach reduces the need for punctuation and special symbols common in languages like C or Java, making scripts self-documenting. The language includes a comprehensive library of built-in commands and functions for math, string manipulation, and file operations.
Revolution, and its successor LiveCode, has been used in a diverse range of fields, particularly where rapid prototyping and cross-platform deployment are valued. It found early adoption in the education sector for creating interactive learning software and simulations. Businesses have utilized it for developing internal database front-ends, utilities, and kiosk applications. Its ability to create standalone executables made it suitable for commercial software tools and POS systems. Notable projects include applications deployed in the NHS and by various universities for research tools. The language's community has also produced a wide array of shareware and open-source projects.
The primary derivative of Revolution is LiveCode, which is the open-source, actively developed continuation of the language and IDE. The open-sourcing under the GPL and Apache License fostered a larger community and expanded its capabilities. The language's direct ancestor is HyperTalk, the scripting language of HyperCard. Other languages that share a philosophy of accessibility and English-like syntax include AppleScript from Apple Inc. and Visual Basic from Microsoft. The Transcript name is sometimes used interchangeably with Revolution's scripting language, particularly in early documentation. The platform's architecture has influenced several niche development tools aimed at non-programmers.