An interesting development in computer programming languages, Euphoria is a small, simple but powerful language which runs perfectly happily under DOS, Linux and Win32 platforms. It's also easy to extend which means that it's more than possible to write cross-platform GUI software without needing needing to use proprietary/non-standard toolkits and widget sets such as TCL/Tk or QT. It's also extremely fast compared to most interpreted languages, probably helped by the small size of the interpreter (less than 250kb for the Windows 2.2 version). Oh it's also free (something of a novelty in the Windows development world) although if you want to be able to package your final program as a standalone .exe you'll need to pay a small registration fee.

The language itself is best described as something of a cross between BASIC and Perl: it's interpreted rather than compiled (although a Euphoria-to-C translator exists allowing executables to be produced). It has a very limited number of data types: atoms and sequences, which correspond very loosely to the Perl notion of scalars and lists. Despite this, extremely complex data structures can be built up because sequences can have atoms and/or other sequences nested within them to any depth.

I first came across Euphoria several years ago when I was looking for a development system for some Windows 3.11 software I needed to create, and then promptly forgot all about it. I recently rediscovered it when I needed to develop some more Windows GUI software: Visual Basic was out as the target machine was very old with limited memory and disk space. C++ was a possibility but all those incessant calls to the WIndows kernel would've driven me nuts, Perl was a possibility but I have no idea how easy/difficult] installing Perl onto Windows is, or how complicated developing GUI apps in Windows Perl might be.

Euphoria lives at and if you're interested in programming languages I'd recommend taking a look. At least it's something else to put on your CV | resumé even if future employers might not know what the hell it is!