mwolson.org Blog - /Tech

Sat, 23 Jun 2007

Euphoria programming language now Free Software

The Euphoria programming language is now Free Software (the source code is public domain without the words "public domain", essentially). I was very surprised to come across this bit of news. I played around with Euphoria throughout high school, because it was like C, but so much friendlier. Some of its ideas really resonated with me, like generalizing all input and output routines such that all accepted as their first argument a number representing a stream. No more looking at the C reference every time you want to try a new string function, just to determine argument order! It also had the notion that every data type is either an atom or a sequence, which really made sense to me at the time.

It also came with a nifty game called langwar where you fly around to different sectors of outer space in a sleek little ship that represents Euphoria, and try to destroy ships that represent other programming languages, such as C, C++, and Basic. Basic was easy prey, C++ was somewhat tricky and bloated (making it easier to hit), and C was a trigger-happy little speeder that would just as soon shoot you as look at you. Classy :^) .

I used to kill time by using the school library's computers to browse the huge selection of community-made downloadable Euphoria programs from the central Euphoria archive. Websites about the TI-89 were the other major source of endless diversion and fun.

I used Euphoria in my Computer Programming class in my junior year of high school to write an implementation of login and separate user profiles for Windows 95, back when there was no concept of several different users with different preferences and desktop settings. The project was basically a thin Visual Basic veneer of an installer on top of an interpreted Euphoria program that ran in DOS. The Visual Basic part existed only because that was what we were supposed to be learning in class.

The thing that made me finally turn away from Euphoria was my exposure to GNU/Linux. Once I was finally able to get an installation of Red Hat 5.2 working on the family computer (as a non-default dual boot option), I began to take the ideals learned from the GNU Manifesto (first viewed from the Emacs text editor, and no longer available in Debian-packaged Emacs, much to my great disgust) to heart. At the time, Euphoria had a stripped-down "free as in free download" version and a for-pay version. Only the for-pay version had a truly functional debugger.

Kudos, Rob Craig, for making it free. I have donated $29 (the cost of a copy of the Euphoria interpreter on June 10, 2004) in support of this step. The good memories alone are sufficient to justify the expenditure.