Euphoria stands for End-User Programming with Hierarchical Objects for Robust Interpreted Applications. 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.
It 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 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 (Webbased) programming.
Here is the list of major features of Euphoria −
It is a simple, flexible, powerful language definition that is easy to learn and use.
It supports dynamic storage allocation which means variables grow or shrink without the programmer having to worry about allocating and freeing the memory. It takes care of garbage collection automatically.
It is extremely faster than conventional interpreters such as Perl and Python.
Euphoria programs run under Linux, FreeBSD, 32-bit Windows, and any DOS environment.
Euphoria programs are not subject to any 640K memory limitations.
It 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 by 2 to 5 times.
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.
It supports run-time error-handling, subscript, and type checking.
It is an open source language and comes completely free of cost.
Euphoria is available on Windows, Linux, FreeBSD, and OSX. Here is the bare minimum version required with the following platforms −
WIN32 version − You need Windows 95 or any later version of Windows. It runs fine on XP and Vista.
Linux version − You need any reasonably up-to-date Linux distribution, that has libc6 or later. For example, Red Hat 5.2 or later works fine.
FreeBSD version − You need any reasonably up-to-date FreeBSD distribution.
Mac OS X version − You need any reasonably up-to-date Intel based Mac.
Here are some prominent limitations of Euphoria −
Even though Euphoria is simple, fast, and flexible enough for the programmers; it does not provide call support for many important functionalities. For example, network programming.
Euphoria was invented in 1993, and still you would not find any book written on this language. There is also not much documentation available for the language.
But these days, the language is getting popular very fast and you can hope to have nice utilities and books available for the language very soon.
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 Euphoria to use for both personal and commercial purposes. Unlike many other open source licenses, your changes do not have to be made open source.