Jump to content

Euphoria (disambiguation): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Atlas_2091 (talk)
No edit summary
(No difference)

Revision as of 04:46, 23 April 2001


Euphoria is a PC programming language created with the following design goals:

  1. Simplicity - To be easier to learn and use than BASIC, with higher-level constructs. Uses flat-form 32-bit memory to avoid complicated memory management and arbitrary limits.
  1. Power - A full-power language with low-level capabilities for professional development, but much more structured and less terse than, for example, C
  1. Safety - Extensive debugging support and run-time error-handling; automatic subscript checking, type-checking, and memory handling.
  1. Flexibility - Free-form user-defined type support, so that variables can be as loosely or strictly typed as desired. Object-oriented programming is easily accomplished by defining objects as types (subsets of the sequence, which is a general-purpose collection).
  1. Ease of Development - Interpreted, with automatic memory management and garbage collection.
  1. Speed - Fastest interpreted language


The name Euphoria is an acronym for 'End User Programming with Hierarchical Objects for Robust Interpreted Applications'


Originally released in July 1993 by Robert Craig (Rapid Deployment Software). Current versions support 32-bit DOS, Windows, and Linux. There is also a translator to convert Euphoria code into C for compilation to native machine code.


Euphoria is primarily used by hobbyists for utility and computer game programming, but has proven useful for fairly diverse purposes. The primary strength seems to be the ease of handling dynamic collections of data of various types, most useful when dealing with string processing and image processing. It has been used to implement other interpreted languages along with translators and compilers, inartificial intelligence experiments, in the study of mathematics, to teach programming, and implementing fonts involving thousands of characters.


/Talk