Wiki Diff Euphoria, revision #6 to tip

== About Euphoria ==

**[[Euphoria]]** started its life in 1993 as a commercial language developed by Robert Craig of [[Rapid Deployment Software -> http://rapideuphoria.com]]. With the 3.0.0 release in October of 2006, Euphoria started its second life as open source software and is now maintained by a group of developers with the help and input of its users (see EuphoriaContributors).\\
\\
== Latest Major Release ==
Euphoria 4.0.0 final has been released after a long and hard development cycle. 4.0.0 is the largest ever update to Euphoria. New language constructs, scope visibility modifiers, conditional compilation, performance enhancements, multi-line comments and strings, enumerated values and types, variable assignment on declaration, switch statement, various loop modifiers, user defined pre-processor, unit testing, source code documentation system, coverage analysis, disassembler, direct C compilation via euc, new online and PDF manual and of course a new logo are in addition to the over 800 public members in the new standard library.

The standard library has over 800 public members ranging from simple helpers such as iif() to more complex methods such as full sockets interface, http access, regular expressions, dictionary map structures and much more. To help you navigate this new territory we now have full text searchable documentation, offline downloadable HTML documentation and finally a nicely formatted PDF document for easy reading and printing.

Please enjoy this new monumental release of Euphoria and Download Euphoria today.

Euphoria is a cross platform general purpose procedural programming language that includes one of the fastest interpreters and compilation to native binaries via the included euc tool (Euphoria to C).

== Getting Started ==
Whether you're a beginner or experienced programmer, the GettingStarted page has helpful links to documentation, code samples, and tutorials to make your first steps with Euphoria easy. If you have questions that don't seem to have answers in the documentation, feel free to ask in the [[http://www.openeuphoria.org/forum/index.wc|forum]].

==== Features ====
* a remarkably simple, flexible, powerful language definition that is easy to learn and use.
* a high-performance, state-of-the-art interpreter that's many times faster than conventional interpreters such as Perl and Python.
* dynamic storage allocation. Variables grow or shrink without the programmer having to worry about allocating and freeing chunks of memory. Objects of any size can be assigned to an element of a Euphoria sequence (array).
* an optimizing Euphoria To C Translator, that can boost your speed even further, often by a factor of 2x to 5x versus the already-fast interpreter.
* extensive run-time checking for: out-of-bounds subscripts, uninitialized variables, bad parameter values for library routines, illegal value assigned to a variable and many more. There are no mysterious machine exceptions -- you will always get a full English description of any problem that occurs with your program at run-time, along with a call-stack trace-back and a dump of all of your variable values. Programs can be debugged quickly, easily and more thoroughly.
* features of the underlying hardware are completely hidden. Programs are not aware of word-lengths, underlying bit-level representation of values, byte-order etc.
* a full-screen source debugger and an execution profiler are included, along with a full-screen, multi-file editor.
* Euphoria programs run under Linux, FreeBSD, OS X, and 32-bit Windows.
* You can make a single, stand-alone .exe file from your program.
* Euphoria is completely free and open source.

==== Platforms ====
Open Euphoria interpreters are available for the following platforms:
* WIN32: Runs on [[MicrosoftWindows|MS-Windows]] and [[ReactOS]]
* Linux: Runs on several [[Linux]] distributions.
* BSD: BSD and [[FreeBSD]]
* OSX: On Intel x86 based [[OSX|Apple OS X]] machines.

[[Rapid Deployment Software -> http://www.rapideuphoria.com]] also offer a DOS edition which runs on [[MicrosoftDOS|MS-DOS]] and compatibles ([[PC-DOS]], [[DR-DOS]], [[FreeDOS]])

==== Who Uses Euphoria ====
Euphoria is used in a variety of commercial programs. The Windows version has been used to create numerous GUI, utility and Internet-related programs. The DOS version has been used to create many high-speed action games, complete with Sound Blaster sound effects. The Linux and FreeBSD versions have been used to write GUI programs, Web-based (CGI, FastCGI and SCGI) programs, and lots of useful tools and utilities.

==== Euphoria vs. Other Languages ====

* Euphoria LanguageComparison
* An important message for all {{{C/C++ programmers}}}: [[CCPPReasons|24 Reasons Why You Are Going to Write Your Next Program in Euphoria]]!

==== Version History ====
* Euphoria 1.0 for DOS was released in July 1993 by RDS.
* [[MicrosoftWindows|MS-Windows]] support was added in version 2.0.
* By version 2.2, [[Linux]] support was added and a [[Euphoria-to-C Interpreter]] was created.
* [[CooperativeMultitasking|Cooperative multitasking]] was added in version 2.5.
* Version 3.0 was released as open source
* Version 4.0 was released December 22, 2010. Read the [[http://openeuphoria.org/news/16.wc|announcement]]. A very active development team delivered a completely new Standard Library, several new keywords and block statements, performance enhancements, and other useful features. The Open Euphoria Community Website, [[http://openeuphoria.org/]] is powered by version 4.0.

**//This is a rough draft of the Euphoria description. Please help us [[edit=Euphoria|improve this description]].//**

== About Euphoria ==

EUPHORIA is a programming language. It is used to write general purpose programs that can run on a number of platforms, such as Windows and Linux. Actually, you can write any type of applications in Euphoria, but it is suited to some types more than others.



Search



Quick Links

User menu

Not signed in.

Misc Menu