I'm a UNIX developer and proud of it. I love the stability, scriptability, and remote administration capabilities of UNIX. I've built everything from small scale scripts to large web-applications running on hundreds of machines. However, I've never run UNIX/X as my desktop, and with Gnome and KDE gaining popularity, I'm standing out more and more every day among my UNIX developer brotheren. I'm often asked "why", and I recently stumbled upon an open source project which inadvertantly explains it all for me in one simple webpage.
Mono is an open-source implementation of C# and the CLI (Common Language Runtime). Ximian has done an amazing job getting the Mono project off the ground. They do an amazing job distributing both binary and source releases for mere-mortals to install their growing runtime environment.
This screenshot is a list of binary downloads for Mono 0.24. On this page there are downloads for SIX different versions of Linux, THREE of them are RedHat. However, I have a bunch of RedHat 6.1 machines, and unfortunatly, that's not one of the included sets of binaries. There is only one download for Windows, and it runs on everything from NT through XP. NT 3.51 predates all but the earliest Linux distributions.
The tangle of different versions for Linux isn't the only difference. The Windows download is a single setup executable. Double click on it, click "next" a few times, and it's up and running. If you have more than one version of Mono installed, no problem, the package is installed by default in "C:\Program Files\Mono-0.24". The same can't be said for the other installations.
Obviously Mono is not the only piece of software that follows this pattern. However, I felt that their download page provides a more powerful description of why I run Windows on the desktop than any of the words I could write explaining the issue.
Posted by jeske at May 8, 2003 12:59 AM
I've often been surprised how the UNIX community has yet to pick up on a COM based model of self-describing libraries plus a common registry of applications. As greatly berated (and in some cases, rightly so) as those items are, the do make application development significantly easier.
I also agree that UNIX is a great server but both Mac and Windows make far superior clients. It'll be interesting to see how Mac will continue to fair with that problem and whether the UNIX community will pick up on any of those concepts.
Posted by: jr at May 8, 2003 4:38 PMI'm not sure COM is very commonly self-describing, as creating type-libraries for COM objects is optional, not required. CIL/.NET changes this entirely, and hopefully it'll have a good influance on UNIX.
It's good you mention MacOS. MacOS X (and Nextstep before it) improved on UNIX by providing (a) relocatable applications and frameworks via app-wrappers, and (b) a mindset of stability and backward compatiblity.
It's too bad that Gnome and KDE have not yet "borrowed" these techniques and layered them onto UNIX.
Posted by: David at May 8, 2003 5:12 PMJust some quick notes:
* RHL 6.1 was released in 1999. Win98 was still very commonplace (ME had not been released yet), so your comment about NT 3.51 is misleading. If you had a Win98 machine, you'd be in the same position.
* Package management on Windows is a joke. It is only decent at installing packages, and only as long as there are no (or very few) dependencies. Maintenance after that is terrible.
* To install mono on any supported platform, you can use red carpet. It automatically handles the distro detection, download, install, etc, etc.
That said, I *do* agree that software management under Linux can be more complex, and that it's something that needs to be worked on. The good thing is, it *is* being worked on.
Posted by: Dan at May 31, 2003 11:03 PMHEre is an article about troubles ZDNet had with running Linux on the desktop:
http://reviews.zdnet.co.uk/review/42/2/5326.html
"Once SLD was successfully in place, we faced our next problem: finding a way to communicate on the Yahoo Messenger network used by ZDNet UK. Yahoo supplies a Unix client, but SuSE users must use a package designed for Red Hat's distribution. This does not get on at all well with SuSE's package installation tool, YaST2."
Posted by: David Jeske at July 28, 2003 5:09 PM