Euphoria - Overview


Euphoria is a free, simple, flexible, easy to learn, and interpreted but extremely fast 32-bit high-level programming language for DOS, Windows, Linux, FreeBSD and more.

Euphoria's first incarnation was created by Robert Craig on an Atari Mega-ST and it was first released in 1993. It is now maintained by Rapid Deployment Software.

Euphoria stands for End-User Programming with Hierarchical Objects for Robust Interpreted Applications.

Euphoria is being used to develop Windows GUI programs, high-speed DOS games, and Linux/FreeBSD X Windows programs. Euphoria can also be used for CGI (Web-based) programming.

Euphoria Features

Here is the list of major features supported by Euphoria −

  • A remarkably simple, flexible, powerful language definition that is easy to learn and use.

  • Supports dynamic storage allocation which means variables grow or shrink without the programmer having to worry about allocating and freeing of memory. This means it takes care of garbage collection automatically.

  • Extremely faster than conventional interpreters such as Perl and Python.

  • Euphoria programs run under Linux, FreeBSD, 32-bit Windows, and any DOS environment, and are not subject to any 640K memory limitations.

  • Provides an optimizing Euphoria To C Translator which you can use to translate your Euphoria program into C and then compile it with a C compiler to get an executable (.exe) file. This can boost your program speed often by a factor of 2x to 5x.

  • Underlying hardware are completely hidden which means programs are not aware of word-lengths, underlying bit-level representation of values, byte-order etc.

  • Euphoria installation comes along with a full-screen source debugger, an execution profiler and a full-screen multi-file editor.

  • Supports run-time error-handling, subscript and type checking.

  • Euphoria is completely free and open source.

Platform Requirements

Euphoria is available on Windows, Linux, FreeBSD, and OSX. Here is the bare minimum version required for all the platforms −

  • To run the WIN32 version of Euphoria, you need Windows 95 or any later version of Windows. It runs fine on XP and Vista.

  • To run the Linux version of Euphoria you need any reasonably up-to-date Linux distribution, that has libc6 or later. For example, Red Hat 5.2 or later will work fine.

  • To run the FreeBSD version of Euphoria you need any reasonably up-to-date FreeBSD distribution.

  • To run the Mac OS X version of Euphoria, you need any reasonably up-to-date Intel based Mac.

Euphoria Limitations

  • Even though, Euphoria is simple, fast and flexible enough for the programmers, but still it does not provide call support for many important functionalities e.g. Network Programming.

  • Euphoria was invented in 1993, still you would not find any book written on this language. There is also not much documentation available for the language.

But now a days, language is getting popular very fast and hope to have nice utilities and books available for the language very soon.

Euphoria Licensing:

This product is free and open source, and has benefited from the contributions of many people. You have complete royalty-free rights to distribute any Euphoria programs that you develop.

Icon files, such as euphoria.ico and binaries available in euphoria\bin, may be distributed with or without your changes.

You can shroud or bind your program and distribute the resulting files royalty-free. Some additional 3rd-party legal restrictions might apply when you use the Euphoria To C Translator.

The generous Open Source License allows both personal and commercial use, and unlike many other open source licenses, your changes do not have to be made open source.