- Microsoft Windows chief decries standards grandstanding
- The 5 best, and 5 worst, features of Google Chrome OS
- Federal government using PS3 to crack pedophile passwords
- 10G Ethernet cheat sheet
- Top 10 free Windows tools for IT pros, at a glance
"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