Open Source Languages

Matts on 2002-05-13T12:24:19

Sometimes Open Source (free software, whatever you want to call it) is a pain in the arse. I don't mean using it, I mean writing it.

If you want to write something that's free, useful to a lot of people (and thus open to the "many eyes" concept), and basically works anywhere, you really only have two choices: For performance, write it in C. For ease of authoring/flexibility, write it in Perl.

There's very little flexibility either way (by that I mean you can move to Python, or you can move to Java or C++, but it's all much of a muchness).

What I've yet to see is widespread support for alternative languages in the compiled area. Contrast this to the closed source world, and you've got fairly large amounts of work being done in "alternate" compiled languages such as Delphi.

The problem is fairly obvious: in order to be able to download and compile the source of a piece of free software written in something like Oberon-2, you first need to download and install an alternate compiler.

This is a real shame, as one of my favourite languages is Oberon-2. It's a wirth-derived language (a-la PASCAL), with nice OO features, and full garbage collection, making it ideal for writing complex programs in. But the chances of me being able to get away with using it for anything but my personal playing with are pretty low.

Will .NET change this? Not really. It provides a nice new layer for doing OO stuff across the link layer, but other than that, a project written in Active-Oberon (Oberon for .NET) isn't going to get users like a project written in C#.

Shame really. I can certainly see the value in Simon's view of creating software just for himself. It seems especially relevant when using esoteric languages.


Active Oberon

jand on 2002-05-13T17:02:10

Active Oberon is not just "Oberon for .NET"; it is an extended version of Oberon in which objects run concurrently in separate threads.

It will only run reasonably well on systems were thread creation is pretty cheap. I remember Prof. Gutknecht talking about several thousand threads created/destroyed per second (in his Active Oberon on .NET sample program).