Slashdot Mirror


Visual Studio vs. Eclipse: a Programmer's Comparison

Nerval's Lobster writes "Developer and editor Jeff Cogswell is back with a comparison of Eclipse and Visual Studio, picking through some common complaints about both platforms and comparing their respective features. 'First, let's talk about usability,' he writes, 'and let's be frank: Neither Eclipse nor Visual Studio is a model for sound usability.' That being said, as an open-source project, Eclipse wins some points for its customizability and compatibility with languages; it's more difficult to modify Visual Studio to meet some programmer needs, which has led to any number of abandoned projects over the years. Microsoft choosing to eliminate macros in recent versions of Visual Studio has also led to some programmer frustrations (and a need for external tools)."

10 of 543 comments (clear)

  1. Re:Studio v. Eclipse by binarylarry · · Score: 5, Informative

    Eclipse struggled a bit with the Eclipse 4 release but the new version Kepler is fantastic.

    Visual Studio is great if you're developing for Microsoft platforms.

    Fortunately, Microsoft platforms are growing less relevant by the day.

    --
    Mod me down, my New Earth Global Warmingist friends!
  2. Um excuse me ... by Anonymous Coward · · Score: 5, Insightful

    A developer with sufficient skills can be productive in ....

    A developer with sufficient skills can be productive in anything.

    vi.

    gedit.

    emacs/xemacs

    Pencil and paper.

    And on very VERY rare occasions, I've seen developers who did everything their head and just typed in any old text editor.

    1. Re:Um excuse me ... by binarylarry · · Score: 5, Funny

      Fuck that shit bitch, butterflies for life.

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Um excuse me ... by bertok · · Score: 5, Insightful

      Well, I'd never hire you in the first place, because modern IDEs are the automation of the software development world and demonstrably improve productivity while lowering error rates.

      You're basically saying that we should let the guys in the warehouse manhandle 500kg loads by hand because they "prefer" not to use the forklifts. We should just let them do whatever they please, because that's what makes for good management, right?

      I've been in mixed work environments before where everyone just used whatever tools they wanted: Linux, Windows, Mac, Vi, Emacs, etc... I personally used IntelliJ IDEA on Windows because it had code analysis and safe refactoring. My productivity was at least 50x higher than other developers. I was told not to submit changes too fast because the code reviewers couldn't keep up. Note that I didn't say I was 50x better than anyone else -- there were smarter and more experienced developers there -- but I was running circles around them because of the tools that I was using. A woodcarver, no matter how skilled in his art, simply cannot keep up with a CNC milling machine. A blacksmith cannot possibly outproduce a ten ton press that can stamp out a part every five seconds.

      Inefficiencies were everywhere: they took 30 seconds to check out a file from source control using a command-line tool, whereas I could just start typing with a barely noticeable pause on the first character as the IDE does it for me. They used "diff", I used a GUI 3-way merge tool that syntax highlighted and could ignore whitespaces in a semantically aware way. There was one particularly funny moment when some guy walked up to me to ask me to look into a bug in a specific method. He starts off with the usual "now go to the xyz folder, abc subfolder, now somewhere in here there's a..." meanwhile I'm staring at him patiently because I had opened the file before he'd even finished giving me the full method name at the start of his spiel. Global, indexed, semantic-aware, prefix search with jump to file is a feature of IntelliJ IDEA, not Emacs or Vi. He's never even heard of such a thing! Thought it was magic. Grep couldn't have found the method anywhere near as fast, not through 30 million lines of code anyway, and then it would have returned every reference to the method name as well, not just the method definition itself. Then I'd have to find the damned file in a haystack of thousands and open it manually anyway.

      Minutes of work in a seconds, hours in minutes.

      It's not about typing, or shortcuts, or block select, or the specific dialect of regular expressions in your favorite text editor. It's about indexing, refactoring, code analysis, live error highlights, popup-help, tab-complete, source control integration, boilerplate generation, integrated debuggers, and a thousand other things that most programming oriented text editors simply do not have. It's about letting the CPU in your computer do what it is there for, instead of just waiting patiently for the next keyboard interrupt so that it can use all 3 gigahertz of power to put a byte into a buffer and then go back to sleep.

      It's not even a good idea to let developers pick their favorite IDE either, because there are productivity gains to be had from consistency. Training is cheaper, licenses can be purchased in bulk, plugins will work for everyone, custom extensions may be cost-effective to develop for one IDE but not many, etc...

  3. Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 5, Funny

    And I *freeze*refu*freeze*se to h*freeze*ave anyo*freeze*ne tell me di*freeze*fferently. *freeze*.

    1. Re:Ec*freeze*lip*freeze*se works by binarylarry · · Score: 5, Informative

      Check out the new Kepler release. Kepler was an iteration with a focus on improving the performance issues Juno had.

      http://eclipse.org/kepler/

      Kepler is pretty nice UX wise.

      --
      Mod me down, my New Earth Global Warmingist friends!
  4. Netbeans! by bigsexyjoe · · Score: 5, Informative

    It isn't nearly as popular (and I don't know why), but Netbeans kicks Eclipses ass. True, they are both memory hogs. But Netbeans doesn't drag and freeze as much. Its commands and interface are a lot more intuitive. Netbeans is also a much better IDE for the web. It handles JavaScript way better than Eclipse and even allows you to debug your JavaScript through a Chrome extension.

  5. Qt Creator!! by goruka · · Score: 5, Informative

    For all of those that love Visual Studio for C++ programming, and having used eclipse for some time, I believe Qt Creator is by far a much better alternative, as it has around the same level of functionality of VS+expensive commercial plugins.

    Even letting the Qt integration out, It has excellent code completion, shows warnings and errors as you type, provides great refactoring tools, It's extremely lightweight, works with any compiler and any build system, in any platform, integrates with a wide array of debuggers and profilers, has a high degree of customization, and some unique features like the best search/replace I've ever used and the locator (ctrl-k).

    The only reason it's not more popular is that most people believes it's only useful for writing Qt applications, which couldn't be further away from the truth. It's simply awesome. If I worked for Digia, I'd try to change the name and promote it to something unrelated to Qt, that way it would be really easy to bring new developers to their platform.

  6. Conclusion: meh by Aviancer · · Score: 5, Insightful

    So the conclusion is "both work; each has some flakiness".

    That's a long-winded way of saying "meh".

    vi or emacs debates anyone?

  7. Re:Getters and setters by HaZardman27 · · Score: 5, Informative

    One advantage is that it makes it easier on you if in the future you realize that you need to do any sort of validation or other logic that's not directly related to the accessing or mutating of a property's value, but needs to happen every time that property is accessed or mutated. If you were already calling 'getValue()' whenever you wanted 'value', all you have to do is add the new logic to the 'getValue()' method. It also allows you to have a private scoped object property while still making the property accessible to outside classes. Once again, you might want to do this so that you can always ensure that a value being set as the value of the property is valid and sanitized (if the property were public, any other class could directly change its value without the guarantee of the new value being valid).

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.