Skip to content
Print

MonoDevelop: The .NET Developer’s Linux Outlet

4
Oct
2007

I’ve done my fair share of .NET development.  I’ve never actually enjoyed it, nor would I want to make a living out of it, but I have done some.  Every time, I’ve been forced to work on Windows to do any serious project.  Granted, jEdit can get you awfully far in terms of source editing, but unfortunately (?) it’s no IDE.  Really, the only way to do serious .NET development is to use VisualStudio.

Now, for a number of reasons (none of which are important right now), I’m already using Windows as my primary OS.  However, I don’t like being boxed into one OS or another.  I try to keep my options open.  If I ever could cut those final ties to Windows, I’d love to switch to Linux or Mac.  Also, I just don’t like feeling forced to do something in a certain way.  With Java, I can write the code in Eclipse, NetBeans, jEdit or Notepad for all my employer cares, just as long as it gets done.  With .NET, I really don’t have any choice but to use Windows.

Well, until nowish.  MonoDevelop recently announced the release of 1.0 beta 1.  From what I’ve read, things are still comparatively unstable, but the features are all there and bug fixing is proceeding apace.  Also, for the first time it seems that they’re offering some binary packages, allowing users to install easily rather than wrestling with the sources for hours and hours (which is what happened to me last time I tried MonoDevelop).

monodevelop Actually, the bigger news for me is the addition of all of the “serious coding” features.  Things like content assist, searching, error-underlining, etc.  These are huge when working on a non-trivial project.  In fact, these are precisely the reason I tied myself to Windows and VisualStudio for .NET development rather than just using jEdit or VIM on Linux.  Last time I tried MonoDevelop (back in like, 0.2), it really wasn’t more than a glorified text editor with syntax highlighting.  Now, it’s a full-fledged IDE.

As far as I’m concerned, MonoDevelop has reached the point where it can be considered as a serious VisualStudio on Linux.  In fact, from what I’ve seen it’s at a level where .NET developers need no longer consider themselves tied to Windows just for the tools.

Of course, the big problem is MonoDevelop is a tool to write code that runs in Mono (hence the name), not really .NET.  Technically, the two platforms are very very close, but .NET has some libraries and provides certain functionality that Mono just doesn’t emulate yet (things like the win32 API).  Also, Mono is a black-box port, so there are bound to be some inconsistencies in behavior here and there.  As a result, you can probably write your .NET application on Linux using Mono, but you had better test it running on Windows and the CLR.  Otherwise you can never really be sure that your app is doing what you want it to on Windows.

But on the whole, I think this is great news!  MonoDevelop gives .NET developers a nice (and free) alternative to VisualStudio, not to mention the benefit of unfettering these developers from the Windows platform.  Just one more way to thumb your nose at the boys in Redmond and support FOSS.

Update: The How-To Geek has some excellent instructions on how to install the latest version of MonoDevelop on Ubuntu.

Comments

  1. Ever tried SharpDevelop? MonoDevelop is an early port of SharpDevelop for Linux and it’s actually a very good IDE for developing .net apps for Windows without having to pay th “MSFT tax”…

    Marco Campos Sunday, October 7, 2007 at 2:06 pm
  2. I did use SharpDevelop on a small project a while back. At the time, I really wasn’t impressed with it. It seemed to be almost a highly crippled version of VisualStudio. Granted, I’m sure it’s improved since then, but my experiences weren’t overwhelmingly positive back then. That and it’s Windows-only. :-)

    Daniel Spiewak Sunday, October 7, 2007 at 10:37 pm
  3. This is an old post but people (like me) are still finding it.

    MonoDevelop is really not Mono specific. To use MonoDevelop on Windows, you do not even have to have Mono installed. The Windows version of MonoDevelop 2.4, for example, requires .NET 3.5 in order to run.

    So it really is a .NET IDE limited by the fact that the only usable .NET implementation on Linux and Mac is Mono. MonoDevelop 2.4 expects Mono 2.6+ on those platforms. You can code against multiple runtimes on any platform so you can target .NET or Mono on Windows for example.

    Of course, MonoDevelop is really targeting the Open Source world more than the pure Microsoft stack. So, the GUI editor builds against GTK# instead of Windows Forms or WPF for instance. You also get strong integration with NUnit and Subversion rather than the MS equivalents.

    MonoDevelop is a fantastic IDE for cross-platform development on .NET/Mono. If you consider Mono and the world of Open Source .NET to be a platform in itself (as I do) then you will be thrilled with MonoDevelop. If you are a die-hard Visual Studio/Microsoft dev, and simply see Mono as a compatibility option for your Windows apps, you may be disappointed.

    By the way, the world of Open Source .NET includes quite a lot of stuff from Microsoft these days. ASP.NET MVC, Unity, IronPython, IronRuby, and the DLR are great examples. In fact, Mono ships with some of these out-of-the-box these days.

    jmalcolm Tuesday, July 27, 2010 at 10:09 am
  4. MonoDevelop is really not Mono specific. To use MonoDevelop on Windows, you do not even have to have Mono installed. The Windows version of MonoDevelop 2.4, for example, requires .NET 3.5 in order to run.
    I did use SharpDevelop on a small project a while back. At the time, I really wasn’t impressed with it. It seemed to be almost a highly crippled version of VisualStudio. Granted, I’m sure it’s improved since then, but my experiences weren’t overwhelmingly positive back then. That and it’s Linux only

    Avishekkr suryavansi Saturday, October 8, 2011 at 6:17 am

Post a Comment

Comments are automatically formatted. Markup are either stripped or will cause large blocks of text to be eaten, depending on the phase of the moon. Code snippets should be wrapped in <pre>...</pre> tags. Indentation within pre tags will be preserved, and most instances of "<" and ">" will work without a problem.

Please note that first-time commenters are moderated, so don't panic if your comment doesn't appear immediately.

*
*