Revolution (programming language)

From Wikipedia, the free encyclopedia

Revolution is a commercial Cross-platform rapid application development language based on Hypercard's HyperTalk. It is developed and sold by Runtime Revolution Ltd., based in Edinburgh, Scotland.

Revolution runs on Classic, Mac OS X, Windows 95 through Vista, and many variations of Unix, including Linux, Solaris, and BSD. It can be used for both desktop and server/CGI applications. It is the most successful and widely used Hypercard/HyperTalk clone, and the only one which runs on all major operating systems.

Revolution's language is dynamically typed and English-like. This allows for easily understood code that is self-documenting and easy for casual programmers to comprehend. For example:

 repeat ten times
   put "Hello world at" && the time & return after field 1
   wait two seconds
 end repeat

Will place ten lines of "Hello world at 9:00 AM" into the first field.

While its natural-language syntax appeals to beginners, the language contains advanced features including associative arrays, regular expressions, QuickTime multimedia, integrated support for a variety of databases, and TCP/IP libraries. The Revolution engine supports a variety of graphics formats, anti-aliased vector graphics, embedded web browsers. Yet, accessing these higher level functions is still quite easy. For example, to load the contents of a web page into a variable takes one line of code:

put url "http://www.yahoo.com" into MyVariable

To upload a file via FTP is similar:

put url "binfile:picture.jpg" into url "ftp://john:passwd@ftp.example.net:2121/picture.jpg"

The language may be extended by external libraries.

Revolution project files are binary-compatible across platforms. They inherit each platform's unique look and feel and behaviors with no modification. For example, buttons, scrollbars, progress bars and menus behave correctly without any intervention on the part of the developer.

Compiling a standalone produces a single-file executable (minimum size ~1.5MB) for each platform targeted. There is no separate runtime necessary.

[edit] See also

[edit] External links

Languages