Mono allows users of Linux and OSX to run .NET Applications written in C# and Visual Basic on their computers. While not perfect - it opens up a whole batch of applications to users of Linux and OSX.

This may be old news to some people, but I have recently found the power of a piece of software called Mono. Now, it actually takes quite a lot of research and a bit of experimentation to realise just how powerful Mono is. Nowhere on their landing page does it tell you that it lets you run .NET Managed EXE files compiled for windows on Linux and even OSX.

I’m not sure how many of you are aware, but Microsoft’s .NET languages such as Visual Basic and C# don’t actually compile into windows specific executable code but they instead get compiled into an ‘intermediate’ code similar to Java. This is why you are required to download 80Mb of .NET Framework files to run them on XP.

So, what the clever guys on the Mono Project have done is rewrite the .NET Framework so that it runs on other operating systems. That means that you are able to run software that was compiled for Windows as .NET Managed Code in other operating systems as if it were a native application. Now the system is far from perfect, so you’re not able to just pick any application and guarantee it will work - but the project is improving all the time and making more and more programs compatible.

Again, something which is not stated, is how easy this is. Download the Mono application for your machine. And then type: ‘mono MyApplication.exe’ and wait for the application to run. Hassle free (when it works).

While this may not seem significant to many people, I found it amazing that I could run a bunch of .exe files on my mac directly from my Windows Partition with no problems what-so-ever. My only issue with this technology at the moment, is the inability to have ‘browser windows’ in the application run on OSX. They run on Linux apparently, but not on a Mac.

I really hope that .NET developers start making their applications Mono compatible, and I look forward to the browser window component being accessible on a Mac. I’ll definitely be trying my C# programs on Mono and I may even release some of them soon!