Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

Comparing Visual Studio and Eclipse 294

An anonymous reader writes "Getting started with Eclipse can be confusing. New concepts, such as plug-in architecture, workspace-centric project structure, and automatic build can seem counterintuitive at first. Without waxing too philosophical about IDE design, this article presents the main differences between Visual Studio and the Eclipse IDE."
This discussion has been archived. No new comments can be posted.

Comparing Visual Studio and Eclipse

Comments Filter:
  • by Anonymous Coward on Sunday September 02, 2007 @07:14PM (#20446303)
    multiple language support, plugin support, open source:

    http://notepad-plus.sourceforge.net/uk/site.htm [sourceforge.net]

  • by locster ( 1140121 ) on Sunday September 02, 2007 @07:14PM (#20446305)
    I use the call graph and type hierarchy views in Eclipse all the time. They're particularly useful for learning the structure of code you haven't written or come into contact with before and they allow you to navigate code almost effortlessly. Visual Studio's equivalents are pretty dire in comparison, the 'Find References' view just gives a flat list and lists methods with the same name but different signatures and as such I often resort to compiling C# and navigating it with the excellent .Net Reflector tool.

    Oh and automatic insertion of import statements and import re-organisation is pretty useful.

    Also Eclipse's incremental compilation generally seems to be of a higher quality than VS, e.g. it shows you errors as you type whereas VS does so only after an explicit compilation. VS's incremental compilation appears to be limited to driving syntax coloring of class names and code completion (AKA Intellisense(TM) I believe).

    Eclipse's local history of file changes has saved my arse on one occasion (no equivalent in VS) and the file comparer when checking into CVS is pretty cool, far ahead of the (admittedly dated) Visual Source Safe V6 we still use at my workplace (Team Studio was too expensive apparently).

    Speaking as a mainly VS user I find that setting up projects in Eclipse can be pretty bewildering at times, but that could just be lack of experience.

    Eclipse has *never* crashed on me. VS crashes very occasionally now, but it does still happen.

    On balance I would say Eclipse is a far higher quality product than VS, and considering it's free it's a pretty amazing IDE. You can of course get VS Express editions for free now with some functions disabled, multithreaded debugging and compilation for 64bit environments being the missing bits that I have come across.

  • by Will the Chill ( 78436 ) on Sunday September 02, 2007 @07:26PM (#20446409) Homepage
    Eclipse was built from scratch as a one-size-fits-none IDE solution. The only way to ensure that all developers had exactly what they wanted, regardless of languages or platforms, was to make everything from the editor frontends to the compiler backends as modular as possible. This means you can replace any and all aspects of Eclipse with custom plugins if you so choose.

    As far as Visual Studio already doing everything "out of the box", I already noted that Visual SlickEdit does the same. My argument is that community-supported Free & Open Source Software solutions a superior IDE make.

    -Will the Chill

    *sig not found*
  • by __aapspi39 ( 944843 ) on Sunday September 02, 2007 @07:46PM (#20446565)
    Eclipse does require a lot of computer resources, but when you consider the job it does, its actually an amazing bit of kit. also there are memory management plugin that can keep it under control if are trying to get it to run on a celeron with 256m ram.

    as tfa, once you get over the initial hassle of setting the thing up, its a joy to use. also, its dammed stable.

    the svn, the code completion, error checking, and the countless lovely little features (i love you all) work a treat, and make it a winner every time. i don't know a single developer thats used both who doesn't recognise visual studio to be a vastly inferior product.
  • What about NetBeans? (Score:5, Interesting)

    by Theovon ( 109752 ) on Sunday September 02, 2007 @08:08PM (#20446735)
    Why do we see do may articles that mention Eclipse as though it's the default IDE for Java development and whatnot, when so many of the professional programmers I know say they prefer NetBeans because it's a more intuitive, less busy interface?
  • Re:Question (Score:3, Interesting)

    by TopSpin ( 753 ) * on Sunday September 02, 2007 @08:10PM (#20446745) Journal
    There is no doubt it takes a lot of RAM to run Eclipse.

    How much of this is due to JRE implementation? I know Sun's JRE likes to load a lot of class code; at one point with 1.5.x I had to manually bump the memory reserved for class code above the default of 64MB while running Eclipse. What fraction of that is wasted on infrequently used code? I also recall not being able to allocate >1.6GB of RAM on 32 bit W2K3 because, according to Sun, their JRE's heap requires contiguous RAM, and 32 bit W2K3 can't provide it in larger pieces, although it would host 2 processes each ~1.5 GB just fine. If the memory must be contiguous, that implies certain inefficiencies such as never releasing unused RAM below the most distant allocation.

    Anyhow, I suspect common JREs are using RAM inefficiently. Flushing unused code, releasing unused heap and sharing common code among processes are all commonplace, well understood techniques. Be nice if Sun and other JRE vendors figured out how to leverage them.

  • by SteevR ( 612047 ) on Sunday September 02, 2007 @08:32PM (#20446891) Homepage Journal

    ...I picked up a cheap copy of Visual Studio 2005 at a computer flee market.

    This is the point where I imagine pandemonium as folks run in terror from the local bingo hall on computer sale weekend. As they should. Those places are out to get you.

    tongue->cheek

    So what you mean is that you picked up a Chinese copy of MSVS 2005? If you're going to aid and abet piracy, you might as well not give the other pirates encouragement in the form of hard currency.

    tongue->back-in-normal-place

    Recognizing that MSVS was facing real competition in the IDE arena, MS got smart and offered up a relatively non-encumbered free version, Visual Studio Express [microsoft.com]. For the major differences between Express and the other versions, see this page [microsoft.com].

    If all you are interested in is a C++ compiler and IDE, Express works. Its free as in crappy domestic (US) beer. The comparison seems to indicate that you don't get full access to MSDN, but that seems to be a lie. Granted, with Express you don't have it locally, but who wants to install all (eight last time I checked) gigs of the stuff when it is all online anyhow [microsoft.com]?
  • by coryking ( 104614 ) on Sunday September 02, 2007 @08:39PM (#20446927) Homepage Journal
    But it always feels slightly off. I think half my problem is just their website really stinks. There is no diffinitive "this is eclipse, click here to download". And by download, I mean "setup.exe". Right now it is more like "here is a bunch of random eclipse like stuff with random names and no sense".

    Am I right to assume eclipse is kind of like the linux kernel, and you need to pick a "eclipse distribution" to get any kind of coherent package?
  • Hot Swapping Code (Score:3, Interesting)

    by MarkEst1973 ( 769601 ) on Sunday September 02, 2007 @08:39PM (#20446931)
    This is a java-centric feature, but it's something that frustrated the hell out of me when I worked on my first ASP.NET application (v1.1) after coming from a Eclipse/Tomcat environment...

    Mix up this recipe:

    • Eclipse's autobuild-on-save feature
    • JVM's ability to hot swap code (typically accomplished by replacing the classloader at runtime)
    • Eclipse's ability to host the container (Tomcat in my case, but it can be WebLogic or any other)

    Eclipse starts Tomcat in debug mode by default. Automatically compiled classes in Eclipse are piped over the debug socket to the container. The class is swapped out in real time, and you've got a brand new piece of code to run without having an entire build/deploy cycle. Better than that, you can be stepping through your code debugging a method, see your mistake, fix it, hit ctrl-S to save, and the debugger backs up to the top of the method and evaluates your new code!!!

    VS.NET (v1.1 when I used it) simply could not do that. IIS was not as cleanly integrated with VS.NET (as far as I am aware, maybe I'm wrong)

    Eclipse plug-ins exist for all major containers. MyEclipseIDE makes a killing marketing a bunch of them. Even IntelliJ (my preference for Java development) cannot match it, because you have to explicitly build (which can hot swap) but it'll take seconds, as opposed to milliseconds in Eclipse. big big fan of the hot swapping ability.

  • I've enjoyed both (Score:4, Interesting)

    by nate nice ( 672391 ) on Sunday September 02, 2007 @08:56PM (#20447053) Journal
    I've used both environments for different tasks and have been happy with both. Essentially, they serve the same function which is to make developing far more enjoyable and error free.

    Personally now I use VS.net more often. From where I work I have an MSDN account and get free downloads of all their developer tools to play around with. So I've spent a lot of time playing with things.

    I like the integration of everything. From the SQL browser to Team Foundation Server, it's really streamlined to have access to have everything all at once. Honestly, I've been pretty impressed with most of .net and this is shocking since I rarely did MS development before VS 2005.

    Obviously the biggest problem with it all is that it costs money. A lot of money if you want the IDE with all the architecture tools, design tools, testing tools, compilers, SQL server, TFS for source control and deployment, etc. You're locked into a MS environment essentially. And sometimes this isn't a problem at all. Maybe you're developing an ASP.net site or something. But you're spent a lot of money on tools and when multiplied by 50 developers, this can add up to a lot. However, you get MS support and for a lot of business companies with developers that aren't the greatest thing around, this is very valuable.

    Eclipse has limitless plug-ins and can do everything VS.net can in terms of hooking into things. I don't find it as seamless and the whole package isn't there for everything from sharing documentation to deployment, etc. And there isn't support either. So a company is essentially on their own. But it's empowering to be able to ala cart the components you want.

    I like both but have been really impressed with Visual Studio and all the related tools.
  • Re:Intellisense (Score:2, Interesting)

    by maglor_83 ( 856254 ) on Sunday September 02, 2007 @08:58PM (#20447071)
    From my experience, Visual Studio's intellisense is pretty good when programming in .NET. However, its terrible for C++. It frequently decides to lose scope information, which then makes the entire tool completely useless. Even when it does work, it doesn't remember the last used variable like it does in .NET.

    I haven't used Eclipse much, and only with Python, but from memory I thought that it did remember the last variable used, but that might have been some other IDE I was experimenting with.

  • by ls671 ( 1122017 ) on Sunday September 02, 2007 @09:03PM (#20447099) Homepage

    With debugging statement:

    FileThatObject.thatMethod(): x=1, y=2

    Of course, you have to be in pretty good control of your code, plan and visualize in advance, before you actually start to write the code so the few times where you will need to write debugging statements is when you made some typing mistake (or almost).

    It is a different approach to coding, but it leads to more robust code in my humble opinion. The down side of a debugger is that sometimes, it happens that some developers do not know what they are doing, they start writing code without prior planning and they manage to finally get it to work with the debugger. Typical time consumption ratio will be like 20% for writing the code and 80% to debug it and some bugs will go undetected.

    My old way to do things is 50% planning before starting to code, 45% coding, 5% debugging. So the availability of a debugger is less important.

    Note that I DO use debuggers if I need to reverse engineer code.

    Again, I realize and I know that a debugger has become a standard tool in modern development teams. I am just saying I do not use them often so it is possible to get away without them.

  • NetBeans (Score:5, Interesting)

    by DuncanE ( 35734 ) * on Sunday September 02, 2007 @09:30PM (#20447255) Homepage
    Have you tried NetBeans?

    I find it is rapidly over taking VS.Net and Eclipse with things like its improved intelli-sense, built in profiler, tools for building handheld apps and many more improvements.
  • by DuckDodgers ( 541817 ) <keeper_of_the_wolf@y a h o o . c om> on Sunday September 02, 2007 @10:50PM (#20447733)
    I'm fond of the log4j library. Set it up, then litter your code with log statements - logger.error for serious events, logger.debug for reporting nearly every step of the code. First, it documents the code right in the code, and it's much easier to keep the log statements updated when you make code modifications. Second, when something breaks you just change your logging configuration file to turn all logging on for the affected code and re-run your tests. Third, in those (hopefully rare) occasions when a bug appears in production that didn't appear in development, you can turn up the logging level on your production software too.

    Of course, unit testing is also good.
  • by Rodyland ( 947093 ) on Sunday September 02, 2007 @11:15PM (#20447905)
    My last job I had the option of choosing my own (windows) development environment. After a day trying to get Eclipse to work, I came to the conclusion that, based on the tutorials and documentation easily available on the web, most people use Eclipse for the purpose of writing Eclipse plugins. All very well and good, unless of course you want to write some code that actually _does_something_.

    Maybe if an 'Eclipse for VS users' tutorial was available back then I would have given Eclipse more of a chance, but for something that works straight out of the box, VS had Eclipse beat hands down.

    (Disclaimer: I'd spent the previous 2.5 years working with VS)

  • Here's the thing. Visual Studio 2005 for C# is probably the most "cushy" environment out there. But, if you are writing in C++, then, I've found KDevelop to be pretty damn nice. For 64 bit C++, KDevelop and Linux are a long way ahead of Windows. For assembly language, KDevelop does remarkably well. OTH, Visual Studio is a huge pain in the rear and getting more so.

    Autocomplete in C++ sucks, and a lot of that has to do with the language itself, but, in terms of the compiler telling you exactly what is wrong, I think GCC is better than Visual C++. I really think, for a number of reasons, even though I do like Windows, that Linux is the place to be for C/C++ 64 bit development, or for that matter, SSEn development, and I think most developers would prefer it to.

    Visual Studio sucks for C++, what more do you need!
  • by Anonymous Coward on Monday September 03, 2007 @05:27AM (#20449839)
    Is that it so often makes the wrong guess as to what you want. I have to type StandardId dozens of times per day at work, and Microsoft always changes the variable name to Standarded like I'm tying a damn letter to my mother. Then when you go back and change the text to correct what Microsoft intentionally corrupted, Microsoft will then intentionally corrupt it again. You have to cut and paste the text from Notepad to keep Microsoft from molesting your input. I literally spend more time correcting Microsoft "corrections" than I do programming or testing. Of course because Microsoft is paying our company money to demonstrate that their crappy products will work (and no they won't, we've still got more Solaris/Linux systems than Windows) in this field, we have to do everything that is customer-facing in C#.
  • by Lost my low ID nick ( 1035980 ) on Monday September 03, 2007 @08:58AM (#20450943)
    Insightful? While the great Java Development Plugin made Eclipse famous, the C/C++ Tools [eclipse.org] are now in a state that make Eclipse one of the best C++ IDEs around. They get released the same time as new versions of eclipse, and together with other plugins (Bugzilla Integration etc.) you get a very very powerful dev tool.

They are relatively good but absolutely terrible. -- Alan Kay, commenting on Apollos

Working...