18

What would a developer used to working in Visual Studio have to give up if they switched to Monodevelop? This hypothetical developer most often develops ASP.NET web applications with C#.

I'm aware that Monodevelop has the basic Visual Studio features like syntax highlighting and support for Visual Studio solutions. What are the deficiencies that would most affect the productivity of a developer giving up Visual Studio?

To keep things consistent, please confine your answers to points about Visual Studio 2008 and Monodevelop 2.0.

ctford
  • 7,189
  • 4
  • 34
  • 51

5 Answers5

18

Can't speak for the previous versions, but I've been using MonoDevelop 3+ on a MacBook for a commercial project and have found it to be a more pleasant experience than Visual Studio.

It loads faster, compiles faster and all the tools are more easily accessible and more logically laid out (like source control).

The UI layout is much better in my opinion, and you can tell it was developed by actual users of the software not "UI Designers" who don't actually use the software.

I have not found a need for 3rd party tools. In Visual Studio, I used Resharper for code-formatting and other minor things but generally find it overbearing. In MonoDevelop, I've found it handles code-formatting BETTER than Resharper and offers more options by default (e.g. it can format fluent-styles properly unlike Resharper).

On a cost-benefit-analysis alone, MonoDevelop trumps Visual Studio. If you need to do WPF development, TFS-based development, SharePoint or other MS-centric development then it isn't the tool for the job. If you need to build ASP.NET MVC apps, desktop apps, mobile apps, backend apps then I would recommend checking it out and saving money on Visual Studio licenses.

Personally, I plan to migrate 100% to MonoDevelop and eventually phase out Visual Studio. I certainly won't be going down the VS2012/RT route for future development. My current customer got rid of their Win8 machines and decided to use Win7. Their customer is requesting we develop desktop client apps on Mac's as they want to phase out Windows altogether. You make your own mind up where this is all going.

Herman Schoenfeld
  • 8,464
  • 4
  • 38
  • 49
  • 2
    UPDATE: Xamarin Studio improves on MonoDevelop several fold and is definitely suitable for commercial apps - except for WPF. Highly recommended if Visual Studio 2012 Professional isn't easily available. – Herman Schoenfeld Oct 03 '13 at 02:23
10

I think a lot of developers are used to third-party tools like ReSharper, which you wouldn't be able to get for MonoDevelop.

The number of MonoDevelop users is dwarfed by Visual Studio users, so there is far less online help, such as blog posts.

Joe Ratzer
  • 18,176
  • 3
  • 37
  • 51
4

When I say "C# editor" in this post, I mean the Visual Studio C# text editor. Sorry, it's just a typing habit. :o

I'll make a guess that the fit and finish of the Visual Studio C# text editor is better than in MonoDevelop. The reason I say this is I've worked on a project in the past and getting the details correct is unbelievably difficult. Here are some items that the Visual Studio C# editor does exceptionally well at that are some of the hardest to duplicate:

  • Speed and accuracy of IntelliSense, although I've documented how to do handle one of its best features. The Visual Studio 2010 editor is even better, and I haven't been able to match it yet (and no one seems to care, so good luck matching this feature set). The IntelliSense engine also does an amazing job handling partially completed (syntactically incorrect) code at a large scale level. It's not as hard to do within statements in a method, but the C# editor is very thorough.
  • Smart Indent is stupid-difficult to do well, and the C# editor does it. Even Visual Studio 2010 Beta 1 had major issues here, but it's improved in Beta 2 and almost up to where 2008 is.
  • Code formatting in the Visual Studio C# editor is excellent. This is much easier than the above two points, so I can see MonoDevelop including it (not sure if it does). The primary difficulty doing it as well as Visual Studio does it is matching the customizability - it just tends to lead to some gross code (though this is only my experience, other people may have a beautiful solution).
Community
  • 1
  • 1
Sam Harwell
  • 97,721
  • 20
  • 209
  • 280
2

It looks like you've never seen monodevelop before. Yes, it's good and very important software. But at this time it's simply incomparable with VS. VS is more stable, rich and robust software system. Yesterday I've compiled one very important project in monodevelop and it simply crashed...

But it has ASP.NET desinger and ASP.NET MVC plugin. may be it'll be suitable for you

Ilya Khaprov
  • 2,546
  • 14
  • 23
  • I've used monodevelop a little, but not recently. I phrased my question in a general way because I think it's the best way to get an authoritative answer. – ctford Nov 03 '09 at 16:22
  • You can also try wine+.net2.0+sharpdevelop2.2. if you on linux. If you on windows and don't want to pay for VS(or you're not a student) my advise is Sharpdevelop. But you can also make contribution to Monodevelop project in some way :-) – Ilya Khaprov Nov 03 '09 at 16:31
1

I tried Monodevelop and found that it's not a "wow" experience, though this doesn't mean it's not a great accomplishment.

I'm used to docking controls and being able to easily drag controls into/out of containers. However, if I want to do this in GTK, I have to delete all the controls and start again! Therefore, I could not be productive using MonoDevelop.

In general, someone can learn how to deal with it.

Only guys who know how to program in Linux in C and C++ (Linux Development in General) will find it a "wow" experience. For windows developers, it is an unhappy experience.

Kevin Kibler
  • 13,357
  • 8
  • 38
  • 61