website stat

Eclipse vs Visual Studio .NET 2005

images.jpg

Following Mr. Thurrott’s biased comments about Windows Vista and how it compares with the competition (or how it does not compare according to him) an interesting subject was raised on OSNews. An operating system as a tool for developers and hence, the development tools available for each plataform. This lead to a battling between two major development IDEs, Eclipse and Visual Studio .NET 2005.

I do Java development for over 4 years (J2EE, Struts, Tapestry, GWT, Java RMI, endless…) and I’ve used VS.NET 2005 for a year doing ASP.NET, C# Windows.Forms and Mobile development (ASP.NET and native applications). Only this year I’ve been an avid user of both Eclipse and Visual Studio .NET 2005.

There’s a quite of misconception about how Eclipse performs is so I’ll try providing some evidence supporting the following claim: Eclipse outperforms Visual Studio.NET 2005.

First off, what I did like in VS 2005 and considered better than on Eclipse.

  • Excellent debugging tools
  • Excellent Windows.Forms GUI designer

Now my thoughts on where Eclipse beats Visual Studio 2005

  • Better refactoring tools
  • Requires less RAM [1]
  • Has an excellent Quickfix (Ctrl + 1) with more options than VS’s one
  • Integrated CVS (SVN available via free plugin. VS only comes with version control capabilities on the most expensive TeamShare version)
  • Provides Eclipse RCP, an excellent framework for building your applications (There’s something similiar for .NET based on SharpDevelop but it’s not part of VS)
  • Integrated unit testing tools
  • Free functional tests, code coverture, etc..via free plugins
  • Free/Open Source Software so it’s easily modifiable to fit your needs and it can be used for developing commercial tools, contrary to VS.NET 2005 Express Edition
  • Multiplataform: it works on Solaris, Linux, Mac OS X, Windows, insert-your-favorite-so-here
  • It has tools for every possible language other than Java
  • It costs 0€
  • It’s not confined to the Windows environment (Mono.NET is a very different story) and to developing Windows/ASP.NET/PocketPC based applications

I’d like to hear your arguments or your counter-arguments!

[1] - This has been shown by empirical evidence by running both tools on a Windows XP SP2 machine with 1.6Ghz Centrino and 512MB RAM. Both performed quite poorly but VS.NET made me desperate while commuting from debugging to development.


12 Responses to “Eclipse vs Visual Studio .NET 2005”

  1. Paulo Pires
    Published at January 7th, 2007 at 11:46 pm

    You said it all but I’d like to focus on something that you’ve referred but not emphasized, the plugin system Eclipse bundles and the amount of plugins available for it.
    It’s amazing how many communities around Eclipse plugin development are in the wild, and the quantity of great-quality and FREE plugins that enable this great IDE to do almost everything, except a good cup of coffee :-(..

    Concluding, VS is a very good and complete tool and offers a great integration with the most important tools that MICROSOFT-software-oriented developers, like SQL Server, IIS, etc. But it does not open doors to a whole world of things you can FREELY integrate as you saw fit.

    Cheers,
    PP

  2. Marco Rodrigues
    Published at January 7th, 2007 at 11:59 pm

    And Eclipse is used to build RadRails (www.radrails.org) a great IDE for Ruby on Rails.

  3. mlopes
    Published at January 8th, 2007 at 12:16 am

    Paulo,

    Yes you’re right, I could have given a little more attention to it. There are some really amazing plugins.

  4. Filipe Correia
    Published at January 8th, 2007 at 3:10 am

    I believe VS also has free plugins for both CVS and SVN (however, I’m not sure, as I prefer TortoiseSVN anyhow).

    My opinion is that MS messed up big time in Visual Studio 2005. Haven’t tried the SP1 released last month yet, but am not very confident it will solve anything. So, I’ve been sticking with VS2003 and will for some more time.

    “Mono.NET is a very different story”
    I don’t think Eclipse or VS are comparable to Mono; comparing them to SharpDevelop (or MonoDevelop) seems fairer.

    But I do agree with you, Eclipse is much better in most ways. If it only had a decent support for c# and a more usable debugger… I might even live with “drawing” the GUIs by hand… :)
    Until then, Visual Studio it is.

    Btw, don’t know if you know it but there’s a C# plugin for eclipse: http://www.improve-technologies.com/alpha/esharp/
    It’s quite crummy and old though..

    I’ve also just found out this other one: http://black-sun.sourceforge.net/csharp-editor/index.html
    but haven’t tried it yet.

  5. Hugo Batista
    Published at January 8th, 2007 at 1:01 pm

    Hi Mario,

    Nice blog. I’ll stick around.

    I’m a frequent user of VS.NET and a recent user for Eclipse. On the last months, I’ve been developing J2ME apps on Eclipse.

    My first impression of Eclipse is good, even if I felt that it was hard to mount the whole environment for what I’m developing. I thing that the whole idea of plugins is good, but I felt a little lost trying to find and installing everything I needed for my environment (it’s a device specific one, complicating the scenario). Even though, something I liked was the update engine for plugins.

    About your advantages for eclipse, let me just comment some on the VS side:

    • Integrated CVS (SVN available via free plugin. VS only comes with version control capabilities on the most expensive TeamShare version)

    VS works with something called SCC, which allows the usage of other source control providers.
    Until now, I’ve used SVN, CVS, SourceSafe and Team System, together with VS.NET, and without problems, so I don’t understand why this is an issue.

    • Provides Eclipse RCP, an
    excellent framework for building your applications (There’s something similiar for .NET based on SharpDevelop but it’s not part of VS)

    I don’t really know RCP, rather than what I’ve seen on Eclipsepedia, and I don’t think you can find a parallel in the MS world. But you have great frameworks for building apps, like the P&P enterprise library, or CSLA.NET, for example.

    • Integrated unit testing tools

    It also comes on the VS Team Edition

    • Free functional tests, code coverture, etc..via free plugins

    You have it (paid model) through Team Edition, but you can also use TestDriven.Net, Nunit, NCover or Clover.Net (free for OSS)

    • It costs 0€

    Cost is always polemic. What is the Cost?
    I think we always have to analyze the ROI of a decision and never the direct cost. That’s why I can’t find a unique solution for my problems. Right now, in a development team with 5 persons only, we use VS Net 2005, eVC++, Eclipse and Metroworks Codewarrior.
    I’m sure that I could do it all with notepad/edt :) but I’m also sure that the ROI would be worst. That’s why I think every problem has a unique solution.
    We now use 4 different solutions for completely different problems, because the ROI is better.
    So when analyzing cost zero products, I also must analyze the ROI of that decision and the impact on my team, specially adapting current processes.

    My 2 cents.
    cheers

  6. Hugo Batista
    Published at January 8th, 2007 at 1:05 pm

    Just something I forgot:

    There’s a long time I wasn’t seeing bluescreens on my machine. I only use Eclipse since some months and I’ve seen several, while debugging on my device.

    Maybe is just a device specific problem, but it happens…

  7. mlopes
    Published at January 8th, 2007 at 1:54 pm

    Hi Hugo,

    I’m glad you’ve liked my blog.

    I’ve been developing J2ME

    Well, I’ve been doing J2ME development too. More specifically developing for S40, S50 and OpenWave. For this matter I did pick NetBeans instead of Eclipse because it has better mobile development tools. Other than that, NetBeans utterly sucks. It’s slow as hell. Don’t know how Eclipse performs on this field though. Only heard that it wasn’t as complete as NetBeans.

    VS works with something called SCC, which allows the usage of other source control providers.
    Until now, I’ve used SVN, CVS, SourceSafe and Team System, together with VS.NET, and without problems, so I don’t understand why this is an issue.

    When I tried using SVN on VS I only found a couple of shareware/paid plugins. I’ve gave them a try but most of them sucked. Those which didn’t were somehow expensive (> $50). I was not aware that there were actually good CVS and SVN plugins. Thank you for the info!

    I don’t really know RCP, rather than what I’ve seen on Eclipsepedia, and I don’t think you can find a parallel in the MS world. But you have great frameworks for building apps, like the P&P enterprise library, or CSLA.NET, for example.

    I’ve seen two things related to this. A project developed in INESC (I don’t remember who, but one of the mentors has a blog on pontonetpt.com) was basically porting Eclipse RCP to C#. They managed to get something stable and actually usable. They used it for developing a MDD tool where one could build an application out of a modified UML activity diagram. The other was the RCP that’s the basis of SharpDevelop.

    It also comes on the VS Team Edition

    Thank you for the info. I’ve only had access to Enterprise and Express Edition.

    I think we always have to analyze the ROI of a decision and never the direct cost.

    You got point. And analyzing the ROI is always subject to the project you’re developing. I believe that for developing a large C# project even the Team Edition version of VS has a larger ROI (based on man cost per day) compared to Eclipse.

    Nevertheless, if you consider a company based on 12 developers each one with his copy of Team Edition that represents 12 * $5,469 ~ 65K USD. This is a quite a cost to surpass while calculating the ROI, at least compared with 12 copies of Eclipse that equals 0 USD :-)

    As for the blue screens, never had one with Eclipse. But to be honest I’ve never done J2ME development with it!

    Cheers!

  8. Carlos Rodrigues
    Published at January 8th, 2007 at 4:10 pm

    “For this matter I did pick NetBeans instead of Eclipse because it has better mobile development tools. Other than that, NetBeans utterly sucks. It’s slow as hell. Don’t know how Eclipse performs on this field though. Only heard that it wasn’t as complete as NetBeans.”

    I prefer Netbeans over Eclipse. Eclipse’s way of build-it-yourself is just a pain in the ass, unless you are really doing something that requires plugins not available for Netbeans (i.e. support for languages other than Java or C/C++ and such).

    And, actually, I find Netbeans 5.5 to be as fast or faster than Eclipse.

  9. Hugo Batista
    Published at January 8th, 2007 at 4:47 pm

    Mario,

    Glad that we’re both in the device world. Maybe we can exchange some info one of these days. :-)

    I don’t want to start a “religious” war about IDE, especially because I’m not a fan of neither, but I just would like to make an observation to something you argument:

    “Nevertheless, if you consider a company based on 12 developers each one with his copy of Team Edition that represents 12 * $5,469 ~ 65K USD. This is a quite a cost to surpass while calculating the ROI, at least compared with 12 copies of Eclipse that equals 0 USD :-)”

    First, with 12 developers I would study a license model (subscription, ISV, premier partner, etc) which would give me better rates than those. As an example, in the MS world I have scenarios that if I want (or need) to use MS development environments, I can license 5 developers during 2 years for only €320.

    Nevertheless, even assuming those license prices, we can’t calculate ROI only based on license. What about education? What about time-to-market? What about support? There is a LOT of factors which could influence that ROI which are not only license fees.

    Calculating ROI only based on licenses, is like calculating Test Driven Development ROI only based on the time it takes to implement it. Well.. Yes.. Development takes longer, but with time you will get a better ROI. Calculating ROI only based on licenses is also like calculating the ROI of a team only based on their salaries. :-)

    With this I’m not saying that VS is better or worst. I’m just saying that it’s almost incomparable. Each scenario has a solution, like your scenario, where you chose NetBeans.

    cheers

  10. Paulo Vilela
    Published at January 8th, 2007 at 8:14 pm

    You should try Netbeans 5.5 (http://netbeans.org). The new GUI designer (matisse) is really good :

    “NetBeans already had the most complete collaboration features among IDE platforms. This year it added important new modules such as Matisse, the most advanced Java GUI designer available today, and complete support for Java EE 5. NetBeans is likely all that developers of enterprise Java applications will need.”

    2007 Technology of the Year Awards: App Dev
    http://www.infoworld.com/slideshow/2007/01/25-2007_technology-3.html

  11. mlopes
    Published at January 8th, 2007 at 8:28 pm

    And, actually, I find Netbeans 5.5 to be as fast or faster than Eclipse.

    That’s really odd! I desperate when I have to use Eclipse 5.0 or 5.5. Slow as hell.

  12. mlopes
    Published at January 8th, 2007 at 8:33 pm

    Hugo,

    I was not taking into account the price of licenses exclusively. I was just saying that with such values there’s an incremented cost to surpass in order to get a positive ROI. Not that it’s not attainable or is the only metric.

    Paulo,

    I did use NetBeans 5.5 (beta) for developing on J2ME.