<![CDATA[A few years ago Microsoft released the .NET platform. It was supposed to be an open standard that anyone could implement although in reality only Microsoft did. That’s all changed now as Mono is gaining momentum.
Mono is a cross-platform implementation of .NET complete with a execution environment (JIT compiler, garbage collector and so on) as well compilers for C# and VB.net. There are sections of it that a largely complete but all the important stuff is there.
The best thing about Mono is that it has stimulated development of .NET tools by people who normally wouldn’t touch Microsoft if they could avoid – specifically lots of open source developers. This includes the creation of some brand new programming languages such as Boo and Nemerle.
Normally a programming language with very few users is useless – libraries won’t exist and you’ll have to do lots from scratch and things are generally bad. However since every CIL language can use and extend features written (and compiled) in any other, this problem goes away. You can take a C# class and extend it in Boo and then put it in an ASP.NET page written in VB.NET.
An important part of Mono for cross platform use is the development of GTK#, a managed version of GTK that allows you to write cross platform windows applications with essentially a native look and feel.