"It's the year 2399. The galaxy is dominated by the evil forces of the C empire. Programmers' minds are being enslaved to
the C language. Your objective as commander of the Euphoria is to rid the galaxy of the 50 C ships and spread euphoria throughout
the galaxy. Forty of these evil ships are regular C ships, 9 are the more powerful ANSI C ships, and a single ship, lurking
somewhere in the galaxy, is the extremely powerful and terrifying C++."
- Introduction to the game "Language War" written in the language Euphoria showing the adherents' fervor.
As you might have noticed, here in Gearhead we have a slight obsession with computer languages because your language choices
for IT projects will have a huge effect on systems architecture, functionality, maintainability and your sanity. Moreover,
one language won't fit all your needs. Sometimes you need a language for big systems stuff, other times you'll need one for
ad hoc systems admin stuff, and they likely will be quite different beasts.
Over the past few years we've covered many large-scale and well-known languages, including Perl, Python and PHP. We've delved into exotica such as Rebol and Jython. This week, we look at yet another exotic programming tongue that, while it is not well known, actually is supported by an
active and vociferous community. The language in question is Euphoria.
Euphoria, the creation of Robert Craig of Rapid Deployment Software in 1993, can be found at www.rapideuphoria.com. Why is it called Euphoria? Because the name is an anagram for End User Programming with Hierarchical Objects for Robust
Interpreted Applications. A somewhat labored joke to be sure, but now you know.
Euphoria is, however, profound and very interesting. Supported on Windows, DOS, Linux and FreeBSD, it is an interpreted language
with some impressive features. For a start, Euphoria is amazingly fast considering that it is interpreted. The Euphoria Web
site says that it is 30 times faster than Perl or Python. And there's also a Euphoria-to-C translator that can boost execution
speed even further.
Under the hood, Euphoria is a block-structured language with a line-based syntax and a simple data model that makes it suitable
for general application development. In Euphoria, all data elements are either atoms or sequences, which makes it pretty similar
to, say, C or C++. Atoms are numeric and include characters, integers or floating point values. Sequences can contain atoms
and other sequences and can be any length.
Comment