Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

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.

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).

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

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top