views:

1202

answers:

8

How solid is Mono for C# development on Linux and OS X? I've been thinking about learning C# on the side, and was wondering if learning using Mono would suffice.

+2  A: 

It should be just fine. It supports C# 3.0 now. I usually try to stick with targeting 2.0 though and it is very stable.

Winforms and ASP.NET have both worked fine for me. The only thing to consider is there is currently no support for WPF.

Geoffrey Chetwood
A: 

To learn the language, you will be just fine. There are some libraries missing in mono, but that would not prevent you from learning the language. You can find more information at the Mono Project Page: FAQ.

Curro
+1  A: 

.NET 2.0 is fully implemented and if you are planning to use only .NET 2.0 it's almost guaranteed that it will work properly (even WinForms) :) Other versions are still under heavy development so you have to check the Mono's website.

Łukasz Sowa
+9  A: 

I have been using mono for upwards of 2 years now. Work is windows and .Net, home is mono on GNU/Linux. I have been able to run both GUI and ASP.NET apps with no problems from the same SVN repository. The only changes I had to make were in connection strings. ASP.NET works well under mod_mono for apache and xsp2. Some of the .NET 3.5 pieces are not there but definitely works for .NET 2.0 and earlier.

Monodevelop is coming along nicely and I believe the debugger is working well too.

AriT93
+2  A: 

I can't speak to Mono's OSX support, but it is used for some pretty big projects in Linux, such as Banshee and F-Spot. Monodevelop is a pretty decent IDE available for it.

Adam Lassek
OSX support has advanced significantly since this post, Monodevelop is now officially released for the platform, and Banshee for OSX is in beta I believe.
Adam Lassek
+1  A: 

I think it is very viable to learn C# using mono. I don't have hands-on experience with mono but the platform seems very stable and Mono is used in many commercial and open source applications.

Remko Jansen
+1  A: 

Mono has just recently announced that it has full support for .NET 3.5 and overall Mono handles the majority of things well. A lot of the work is done by volunteers so you will still hit corner cases that will cause problems but they are very responsive on bugzilla and mailing lists.

Another great feature they've just added is the ability to attach to a process running on Linux/Mac from Visual Studio in Windows remotely. This gives you the ability to debug any system specific problems you could be having.

sontek
+2  A: 

Mono is very solid on OSX. The only part of the stack that's lacking is GUI, neither Gtk# or Winforms work as well as on linux.

kumpera