Aviva Directory » Computers & Internet » Programming » Euphoria

Developed as a personal project by Robert Craig on an Atari Mega-ST, the Euphoria programming language was ported to the 16-bit DOS platform and released in 1993 as proprietary software.

Craig established Rapid Deployment Software to continue development on the language, which was open-sourced under a BSD License in 2006. The following year, RDS ceased unilateral development of the language, and the openEuphoria Group took over its ongoing development.

EUPHORIA was originally an acronym for End User Programming with Hierarchical Objects for Robust Interpreted Applications.

Until version 2.5, the Euphoria interpreter was written in C. With that version, the interpreter was split into two parts: a front-end parser and a back-end interpreter, with the front-end written in Euphoria while the back-end continues to be written in C.

Euphoria is a general-purpose procedural language focused on simplicity, legibility, rapid development, and performance. It is simple because it uses just four built-in data types and uses automatic garbage collection. It is legible because its syntax favors the use of English keywords over punctuation to delineate constructs. Its interpreter is faster than conventional interpreters like Perl and Python, aiding in rapid development, and its efficient reference-counting garbage collector offers better performance.

Euphoria has been used for research into artificial intelligence, advanced mathematics, the implementation of fonts involving thousands of characters, and for teaching programming. It has also been used to develop Windows GUI programs, and for CGI-based web programs.

Euphoria supports FreeBSD, Linux, macOS, NetBSD, OpenBSD, and Win32. Its support for DOS ended with version 3.1.1.

The focus of this guide is on the Euphoria programming language. Websites whose emphasis is on the language or any of its dialects or implementations are appropriate for this category, as are any IDEs, editors, or other tools designed to facilitate Euphoria programming, as well as Euphoria user groups, forums, guides, or tutorials.



Recommended Resources

Search for Euphoria on Google or Bing