Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



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 Saija ( 1114681 ) on Sunday September 02, 2007 @06:52PM (#20446097) Journal
    Hey guys before the flame start the article is not a comparation between VS and Eclipse, it's a Intro to eclipse for VS users...
  • by Will the Chill ( 78436 ) on Sunday September 02, 2007 @06:57PM (#20446139) Homepage
    I've been using Eclipse for quite some time now, and must say that it's by far the best IDE I've ever had the pleasure of operating. Because of superior modularity, I can use different Plugins to simultaneously edit projects in C++, Perl, and Fortran with full syntax highlighting and real-time error checking. This saves alot of time in recompiling your apps!!!

    The most important thing to me in moving to Eclipse was that it would fully support the Vi command set. There were several different Vi-type plugin options available, but after trying them all I ended up using the only commercial download of the bunch, which was availble for $20 here:

    http://satokar.com/viplugin/ [satokar.com]

    The only other IDE I've ever found that was acceptable before Eclipse was Visual SlickEdit, which had most of the same features as Eclipse but was very expensive and didn't have the F&OSS plugin community of Eclipse.

    Now that I'm into Eclipse, I don't think I'll ever look back!

    -Will the Chill

    *please insert 10 cents for one additional sig*
  • by Tom9729 ( 1134127 ) <tom9729NO@SPAMgmail.com> on Sunday September 02, 2007 @07:05PM (#20446217) Homepage
    Eclipse rules, I use it for PHP and Java development. The summary != what is linked to though...
  • by plams ( 744927 ) on Sunday September 02, 2007 @07:14PM (#20446307) Homepage
    But the plug-ins are not of the high standard that the Java development environment is, so there's currently little reason to use Eclipse for C++, C# or VB development unless Eclipse happens to be your favorite text editor (I use vim for anything that's not Java).
  • Re:Intellisense (Score:2, Informative)

    by Anonymous Coward on Sunday September 02, 2007 @07:29PM (#20446429)
    Visual Studio 2005 supports the same features. You just have to access them in different ways, using different keystrokes, menus and shortcuts.
    Visual Studio has a Refactor menu and can do the following types of things for you:
    - offer to fill in signatures of members of interfaces that you have implemented
    - offer to provide signatures of methods you wish to override from a base class
    - reorder method parameters
    - promote local variables to method parameters
    - remove method parameters
    - rename members
    - encapsulate a field to create a property wrapper for it (set, get)
    - extract statements from the body of a method to create another method

    The intellisense capabilities are extensive: auto-complete, shows help excerpt tool tips, shows signatures of members.

    The debugging features are extensive. You can pretty much see and change anything on-the-fly while stepping through your program. List too long to go into ...

    Visual Studio intellisense sometimes fails notation when there is a syntax error above it in the code, not unlike Eclipse does.
  • by Husgaard ( 858362 ) on Sunday September 02, 2007 @07:34PM (#20446461)
    It's not a comparison; it's a guide for people migrating from Visual Studio to Eclipse.
  • by smartr ( 1035324 ) on Sunday September 02, 2007 @07:36PM (#20446485)
    What possible features could you be using that require 4 gigs of RAM? I'm not going to pretend Eclipse is lightweight, but I find that it's memory footprint has been under 300 megs. I'm using the WTP Eclipse platform, and shifted a few months back from 3.2 to Europa(3.3). I'll probably be shifting entirely to the Red Hat Development Studio, because it's basically everything I'm using with a bit more, in a nice package. Are you perhaps using version 2? I haven't found a descent relational database management tool plugin for eclipse, and I'm curious if that Oracle plugin is the troublemaker. I've been using Squirrel SQL for the database. I admit this would still be saying 512 megs is really stretching your system, and 1 gig is more like a sensible minimum to be developing on.
  • by YU Nicks NE Way ( 129084 ) on Sunday September 02, 2007 @07:43PM (#20446539)
    Yes [msdn.com], there's an extension which supports Python.

    (Oops -- you mean VS supports extensions? But TFA says that's unique to Eclipse!)
  • by QMalcolm ( 1094433 ) on Sunday September 02, 2007 @07:45PM (#20446553)
    "It's more like Introduction to Eclipse for Visual Studio developers." Funny you should say that. The title, is, in fact: "An introduction to Eclipse for Visual Studio users" Crazy!
  • by Anonymous Coward on Sunday September 02, 2007 @07:49PM (#20446585)
    It seems there are compiled versions of Eclipse, maybe that will help with some of the bloat.
    http://sourceware.org/eclipse/ [sourceware.org]

    However I do find the autocomplete features quickly grind to a halt whilst using APIs with large numbers of methods such as jogl.

    I hope Ecipse gets better and better because it really is an excellent IDE, and at the moment the only thing holding it back is the performance issue.
  • by ls671 ( 1122017 ) on Sunday September 02, 2007 @07:50PM (#20446599) Homepage

    On a 4 GB RAM server, we can smoothly run 8 instances of eclipse + 8 instances of Xvnc that the developers access remotely to work in their development environment, this is on linux. Are you on windows ? Could there be issues with your environment that impact performances when running eclipse ?

    I also run 1 eclipse instance quite smoothly on my IBM thinkpad 1GB RAM and windows XP.

  • Re:Intellisense (Score:5, Informative)

    by dreamt ( 14798 ) on Sunday September 02, 2007 @08:04PM (#20446691)
    Funny, because a lot of times, I find it to be the opposite. While I'm no huge MS fan, I think that Intellisense is much more refined in VS2005 -- and its simple things that make it such... ones that nobody else did, but its obvious once you see it. For example, the fact that when you hit DOT in VS, it goes to the last used property/method rather than the first one in an alphabetical list. I think that quite a few times, I want to refer to the last property that I uses, rather than having to scroll to it. Simple things like that.

    It also seems much more of a pain to open an eclipse project on a different machine (at least with the Perforce plugin) than with Visual Studio (I just recently had to have someone else set up one of my Eclipse projects on their new machine, and we got into some sort of recursive look where Eclipse ended up creating subdirectories until it hit an NTFS limit for directory depth (which was a royal pain to clean up -- XP's fault, but still).

    I think that much of it is preference, but each can (and should) learn from the other.

    I'm anxious to see how X-Code (current and "leopard" release) compare... I've just started using a Mac as my primary development machine (and thanks to Parallels, I can run VS for existing dotnet and C++ development) as well as Eclipse on the Mac. I have not yet figured out how to begin integrating our existing Unix build scripts into X-Code to use it...
  • Re:Intellisense (Score:5, Informative)

    by Osty ( 16825 ) on Sunday September 02, 2007 @08:28PM (#20446859)

    It's features like this that has turned Java from a hideously verbose language into something that's almost easier to develop in than Ruby (imho), and Visual Studio seems almost antiquated on this subject (there's no excuse for not implementing these features for statically typed languages such as C/C++)

    What version of Visual Studio are you comparing against? Visual Studio 2005 (which is the basis for the free Express [microsoft.com] versions, so you can try it out without risking any cash) has all of the features you claim are lacking. It's maybe not as automatic (VS2k5 won't automatically stub a method for you unless you tell it to do so), but IMHO that's a good thing -- I don't want the IDE second-guessing what I'm doing.

    Perhaps you were using Visual Studio for C++ code? It's been a while since I've done any C++, having focused almost exclusively on C# for the last 5 years, but with C# the IDE will catch syntax errors, auto-complete for you if you wish (use ctrl+space to bring up intellisense), stub out methods and interface implementations (ctrl+F10 to open the SmartTag-like dropdown), allow you to easily refactor code into methods or wrap variables into Properties, declare "using" tags if you reference something from an assembly in the project references without declaring its namespace (you can alternatively tell it to use the fully-qualifed namespace if you don't want to add it to your "using" list), etc. I would assume that most of the functionality also exists for C++ projects, but I haven't verified that. The functionality is all there (at least for .NET languages), in the box, without any extra plugins needed, and Visual Studio is lightweight enough that I can run 4-5 instances on a 2 year old laptop with 2GB RAM without any issues at all. VS is also pluggable like Eclipse, so feel free to extend it as you wish.

    It's been a while since I tried using Eclipse, mostly because I haven't done any Java work since graduating from college back in 2000. When I did last check it out (probably 2-3 years ago) it was horribly obtuse and bloated. I'm sure things have gotten better over the years, and if I had to start working with Java Eclipse would be my first choice of IDE, but in a Windows C++/C# world I'll choose Visual Studio 2005 every single time. (I'd choose Visual Studio 2008, but I was burned by the VS2k5/.NET 2.0 beta and am now wary of beta versions of Visual Studio -- I'll switch when it ships.)

  • Refactoring (Score:3, Informative)

    by John Jorsett ( 171560 ) on Sunday September 02, 2007 @08:30PM (#20446871)
    The thing I like best about Eclipse vs Visual Studio was refactoring. I tend to, ahem, revise my thinking during programming, and the ability to rename everything from the project itself down to the lowest-level variable was like heaven. Having to go back and use VS where I can't do that (at least, not easily) is torture.
  • by AndyCR ( 1091663 ) on Sunday September 02, 2007 @08:41PM (#20446949) Homepage
    I used to use VC++ for all my C++ development work. I have switched to Eclipse/MinGW.

    - There is SVN integration, task integration with Mylyn which can help you focus on only one task at a time, etc. - stuff you simply can't do in VC++ or, if you can, not without paying a lot of money
    - The ability to compile one file on each CPU is, laughably, apparently worth $5,000 to Microsoft. Even then, I've heard it doesn't work properly
    - I can easily make automated compile/test scripts thanks to switching to MinGW from VC++, and run them automatically on a Linux server which will notify me if a build goes awry
    - EASILY extensible. I can compile every bit of the C++ toolset in about 30 seconds, since it is written in Java. If your machine can't run it, you deserve a better machine anyway to soothe compile times...
    - The intellisense in both are pretty much comparable with the Europa release.
    - If I decide to switch to Linux, all my hotkeys, knowledge, and features are still available.

    I could go on and on, but those are the main reasons.
  • by nurb432 ( 527695 ) on Sunday September 02, 2007 @08:44PM (#20446975) Homepage Journal
    Try easy eclipse.

    Its a 'click here and install' sort of thing. Both for windows and OSX.
  • by smartr ( 1035324 ) on Sunday September 02, 2007 @09:28PM (#20447249)
    Eclipse 3.3 (Europa) really sped up the autocomplete features... Here's a little review of it. http://rf2-dev.spaces.live.com/blog/cns!33114F6710 97246!136.entry [live.com] and the europa site: http://www.eclipse.org/europa/ [eclipse.org]
  • by macshit ( 157376 ) <snogglethorpe AT gmail DOT com> on Sunday September 02, 2007 @09:57PM (#20447417) Homepage
    I dunno, Eclipse is certainly bloated, but I run it on a 450MHz PIII system with 512MB of RAM, and it's perfectly usable (debugging fairly hefty programs). The only thing I found I had to disable was the "method completion" (whatever you call it). [This is on a debian system with a 2.6 kernel BTW; less sophisticated systems like windows might need more resources.]

    The version of java you use to run it seems to make big different btw -- I used Sun's java 6/1.6/whatever, but earlier I accidentally tried to run it using GCJ (the java version of gcc), and that was completely unusable, mostly because my system tried to swap itself to death.
  • Re:Down With IDEs! (Score:2, Informative)

    by Anonymous Coward on Sunday September 02, 2007 @10:21PM (#20447573)
    Right. Because no one who knows the language makes typos in a method call. No one who knows the language ever forgets to close a parenthesis or drops a semi-colon. Indenting code automatically is stupid pre-optimization--let me hit the space bar myself. Refactoring support? Please! Let me refactor those 4 similar classes by hand--I'm sure I'll get it right. Who needs an IDE anyways?

    Ummm, are you on crack? Sorry, but why on earth would you NOT want an IDE? It saves tons of time, prevents easy mistakes, helps you debug your code, helps you keep things organized and on topic, and can promote good habits (for example, assuming "well, you're making a new class--let me set up a unit test outline for you"). What's not to love?

    Or do you write all your code in "edit" because visual tools like vi or emacs are for babies?
  • Re:I've enjoyed both (Score:2, Informative)

    by Osty ( 16825 ) on Sunday September 02, 2007 @11:15PM (#20447907)

    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.

    I think the key here is that it depends on what you're doing. If you're doing small-time ASP.NET work, smaller .NET apps, or even writing games, the Express [microsoft.com] versions of Visual Studio (including XNA Game Studio) are quite nice and free. If you're doing enterprisey work, you'll probably want the full Architect edition and probably get an MSDN subscription as well. If you just want to do an ASP.NET website with a SQL Server backend, spend your money on SQL Server 2005 (or don't spend your money yet and use SQL Server Express to build your proof of concept) and use the free Visual Web Developer Express [microsoft.com].

  • by YU Nicks NE Way ( 129084 ) on Sunday September 02, 2007 @11:21PM (#20447953)
    Yes, Python is dynamically typed, and, yes, intellisense can't work in cases where the signature of a type is changed by the program during execution. That's also true of C#, however; reflection affects all syntactically-driven editors.
  • by Shados ( 741919 ) on Sunday September 02, 2007 @11:26PM (#20447979)
    You should check out VS2008's Javascript intellisense to see what Visual Studio can do with dynamic types. Its not perfect, but its pretty slick overall.Also in .NET 3.5, there's a new dynamic type enhanced runtime, so quite a few dynamically typed languages are popping up for Visual Studio, too.
  • Re:Refactoring (Score:2, Informative)

    by ChadAmberg ( 460099 ) on Sunday September 02, 2007 @11:39PM (#20448049) Homepage
    Yeah, because it is so damn hard to right click on a variable name, select Rename, and type in the new name. And then it does it all for you.
  • by julesh ( 229690 ) on Monday September 03, 2007 @03:20AM (#20449285)
    Even disabling some of the heavier features, I find it hard to get any work done when not using it on a system with 4 GB of ram and two processors.

    That's odd... it works fine for me on a 1GB system with a single celeron processor. Yes, it eats a lot of memory (I tend to find about 300MB, compared with about 100MB for VS), but if it's all you're doing with a box I don't see any reason you'd need more than 1GB for it.
  • by julesh ( 229690 ) on Monday September 03, 2007 @03:27AM (#20449317)
    Not the mention the huge size of projects compared to how much actual code is present. When it takes me minutes to transfer a project of only a thousand or two lines onto a flash drive, there's a problem.

    Say what? Examining an average project in my workspace, I have 4.2K of eclipse settings files, 55K of source files and 72K of compiled binaries. This doesn't seem unreasonable to me, and if 4.2K of extra data is taking "minutes" to copy to your flash drive, you probably need a better flash drive.
  • by the-stringbean ( 884738 ) on Monday September 03, 2007 @04:48AM (#20449673)

    Not wanting to rain on your parade or anything but just because a platform has Java on it doesn't mean that it will run Eclipse. Eclipse uses SWT which uses JNI calls to the underlying window manager - this JNI code needs to be ported to the OS before you can run Eclipse.

    You can still run Eclipse on far more platforms than VS...

  • by MemoryDragon ( 544441 ) on Monday September 03, 2007 @05:56AM (#20449985)
    Eclipse is more of a toolset, often you have to go plugin shopping, bare eclipse does not bring you very far, and Eclipse Europa while being very extensive still feels unfinished, I usually go for MyEclipse for my Eclipse needs, it always is somewhat better than the pure oss collections. Netbeans however is nicely integrated, everything feels like being solid, but the 5.5 version falls flat on some areas, like db integration, I have high hopes for version 6. Anyway if you want to kickstart with JEE coding then Netbeans probably is the better choice if you dont have experience. It is more of a classical ide!
  • Visual studio is ok (Score:2, Informative)

    by bh213 ( 443237 ) on Monday September 03, 2007 @06:26AM (#20450129)
    But you have to install resharper v3.0, then you get amazing IDE. As a bonus point, both reshaper and IDEA (by the same company, IntelliJ) use same keyboard shortcuts, so if you do Java and C#, you only have to remember one set of shortcuts.

    btw, once you get used to it, you cannot live without Alt-Ins, (vs.net) ctrl-click and ctrl-shift-alt-n :)

  • Re:Intellisense (Score:1, Informative)

    by Anonymous Coward on Monday September 03, 2007 @07:47AM (#20450485)
    Biggest difference is that Eclipse's Intellisense is intelligent. It will offer you things that make sense in that place first. Visual Studio's intellisense is not intelligent.

    For example Eclipse will prefer not to offer

        int aNumber = myClass.getSomeString();

    bit Visual Studio will offer that, and also offers completely bonkers things like keywords.

        int aNumber = case??

    Eclipse's refactoring beats Visual Studio hands down.

    The one advantage of Visual Studio is its Visual Design, but I've found that more a cost on anything non-trivial. The time saved drawing things visually is lost again and again in maintenance.
  • by Doctor Memory ( 6336 ) on Monday September 03, 2007 @10:27PM (#20458915)

    Oh yeah fun hint: Jythons XML-RPC server + Your Java monstrosity of choice = xml-rpc API for your app in under a page of code
    Hope it did that last year, because that's about the last time anybody developed anything using XML-RPC in Java. Wake me when they support basic WS-I functionality. Oh, and adding a WS API to your app in Java only requires you to write this:

    @WebService()
    public class WebServiceAPI {
            @WebMethod
            public String callSomeAppFunction(@WebParam(name='param1') final String param1,
                                              @WebParam(name='param2') final String param2) {
                    return someAppFunction(param1, param2);
            }
    }

    Oh, and to make that an XML-RPC API, just add the line:

    @SOAPBinding(style=Style.RPC, use=Use.LITERAL, parameterStyle=ParameterStyle.WRAPPED)

    right after the "@WebService" annotation.
  • by hvrbyte ( 537069 ) on Tuesday September 04, 2007 @03:13PM (#20468147)
    Haskell support : http://eclipsefp.sourceforge.net/ [sourceforge.net]

    OCaml : http://eclipsefp.sourceforge.net/ocaml/ [sourceforge.net] or http://sourceforge.net/projects/ocaml-eclipse [sourceforge.net]

    Granted, I haven't tried it, but then I do mostly Java/C/C++/Objective-C work.

All the simple programs have been written.

Working...