I've been a Windows user since forever, and now I need Linux to create an application using Mono. Which Linux distribution is best for me? I will us it in a virtual machine.
views:
604answers:
7No distribution is generally better than any other. Download the live CDs of the distributions from the net, run them in your VM and use the one you like best.
It's not like any distro is really "better" for Mono development than another, but since you are using a VM, I would look for one with low resource usage.
Anything Gnome-based should be useful for you (since Gnome is moving to mono). Ubuntu has a lot of traction, a really excellent support base and Gnome support.
I would say that the easier to use and more complete (free) distros are Fedora, Debian and Ubuntu.
I have been a RedHat user since... forever. I switched to Fedora when that project started (it's simply the free, open version of RedHat). Some releases are flaky, some are just fine, but on average I have had much less critical problems than with other distros I have tried. Right now I am using Fedora 10, and since my mother has been able to use it, I guess they have made real progress in user interfaces and usability! ;)
Mono is primarily written on and tested on openSUSE. The packages we release are for openSUSE. In fact, we release a VMWare Image of openSUSE with the new version of Mono all set up and ready to go:
http://www.go-mono.com/mono-downloads/download.html
Having said that, we have a great community of people who work to ensure Mono runs well and is packaged on all the major distributions, such as Fedora and Ubuntu.
I'd suggest that you download a premade VM of some flavor. As for which distro, if it's a client app, go with Ubuntu. If it's a server app, it doesn't matter, so go with Ubuntu. ;P
Here's a good premade VM that I've used for testing in the past: http://www.vmware.com/appliances/directory/95733
The easy answer is obviously OpenSuse for a quick easy and painless developer experience. However, if you don't need the latest and greatest mono bits and are setting up a webserver you might want to use a distribution that has a more enterprise philosophy (SLES, RHEL, Ubuntu LTS). Or if you like a minimalist distribution you may want to try gentoo for a kernel that does nothing but what you need.
Personally, I develop on OpenSuse to have the latest tooling, but target redhat because that is a brand that people I work with know and trust. It is not a technical reason, but a political one. What are your other VMs running? Mono even runs on Windows, Mac and Solaris.