I'm a Linux guy and I use .Net


Why would any self respecting Linux enthusiast use .Net for anything? The short answer can be summed up in one word: Mono.

Yes, the Open Source community made a mass exodus away from Mono some years ago, although there has never been any indication from Redmond that Mono may be at risk. The codebase itself is a clean room implementation of .Net. As long as you don't any ASP.Net stuff, it's wrapped in Stallman's GPL security blanket.

So what did the community leave behind? How about support for half a dozen GUI toolkits, including a platform native option for any desktop or mobile device. Then there's C#, F#, C++ CLI and *cough* VB *cough* (sometimes you don't get to pick). Then there's CLR (common language runtime) languages: Ruby, Python, Clojure; with the ability to use .Net libraries from within those languages. Then there's IKVM, ever wished .Net had a library that Java had? You can run Jar files on .Net. Then there's Portable Class Libraries, libraries that aren't tied to a platform or runtime version. The list goes on.

It's a mature platform that I can use to write tools I can use on the Linux servers I administer and then re-use in that desktop app my boss asked for, and then the Mac version his boss asks for, and then the iPad version her boss asks for. The Python scripts I wrote for Linux can run on our Windows servers without needing approval to install the CPython runtime, I just bundle IronPython and it runs on .Net. All this works on FreeBSD too, in case Allan is listening. In a place that fancies itself as a Microsoft shop, it's nice to have a Free Software tool that helps me share code across everything so I can still champion Linux as a platform for running Mono. That's why I use .Net.

Currently unrated