Skip navigation

It is very important that the Development Environment a programmer uses in his daily duties is as pain free as possible. The more irritating an IDE is, the more you’ll hate all the work you do with it. I have found that Visual Studio is a big pain to work with. Since I have started using Eclipse on Linux I have seen that not all IDEs are as painful as visual studio. I am going to discuss in detail my comparison of Eclipse and Visual Studio.  Below is a detailed list of the categories I think are important in the overall experience of an IDE.

Install / Setup / Plugins

Installation may not seem like an important thing to discuss about an IDE. You are probably thinking: “Meh, I only have to do it once.” It is still a part of the overall experience, and you’ll see why I decided to discuss this momentarily.

First, I will discuss the Visual Studio install. As far as Microsoft installers go, this one is very straightforward and simple. As a matter of fact, random people talking about how awesome Visual Studio makes their lives, it’s actually a very good installer. My only gripe with it is the fact that it takes so long. Even on a high end machine it will take at least an half hour, maybe an hour. That’s only the initial install. After you’re done installing that, you then need to pull down the 400MB SP1. SP1 takes more than an hour to install, even longer if you have Team Suite. Not to mention the fact that the service pack doesn’t seem to do much. I didn’t notice any improvement over the vanilla version.

Next we’ll talk about the eclipse installer. Oh, wait, there isn’t one! If you are an Ubuntu / Debian user, (or you have a package manager like yum), you can install through your package manager. The problem with that is the repositories contain an older version and most plugins require the newest version. So, I’d recommend “installing” manually. I say “installing” because all you have to do is download a tar file and extract it. Oh yeah, the whole thing is like a 60MB download. I think Visual Studio starts at around 2GB. Once that is done, you can find all the plugins you want using the update manager (help -> software updates -> find and install). Even most third party plugins have their own update site. All you have to do is grab the URL, paste it in and bam! You can install the plugin. It is even very good at managing dependencies.

So, to summarize, the install process for Eclipse is obviously a lot quicker. Also, because everything you need for the IDE exists in one folder, you can easily back up your IDE by archiving it and throwing it on a pen drive or something. That way, if you ever manage to screw it up, all you need to do is delete your messed up folder, and paste the old one back in. Just remember to never store your source files in the Eclipse folder.

II. Performance

Performance is vastly important when it comes to an IDE. Because we developers spend so much time in the IDE, performance issues can really get under our skin. Visual Studio is absolutely dog slow. Most of the projects I work on are pretty big (the one I’m on now has about 17 projects in the solution). However, they’re not so big that you would expect anything to slow down. I worked on one solution that had 75 solutions in it, and it was absolutely unusable. Now, that solution had no business having 75 projects, I will admit that.

We use Team Foundation at work, which is okay. Just like any other Microsoft product, it leaves something to be desired, but it works. It’s actually really quick. Getting the latest version is very fast (although sometimes doesn’t actually get the latest version of the files you select, go figure). However, when everything is done downloading from the server, projects (and sometimes the solution) have to be reloaded. When many projects are updated, this can take well over a minute.

Here’s my biggest issue with Visual Studio, right here. Opening a markup file such as an .aspx or .ascx file, is retardedly slow. It can hang anywhere from 20 seconds to a minute. Absolutely unacceptable, it really is. When I’m dealing with a bunch of markup all day long, the last thing I want to do is sit around and wait while Visual Studio does god knows what “behind” the scenes. Oh yeah, again, Microsoft, what ever happened to multi-threading? Not only that, it doesn’t even show some sort of messaging to let me know it’s doing something, it just hangs. Classic Microsoft.

Now on to Eclipse. In general Eclipse is very very quick. Start up of the IDE is similar to Visual Studio I think. However, once in the IDE there’s no comparison. Eclipse is a lot faster. Loading an html file takes zero time. The WTP plugin for Eclipse even runs through all of your files and validates the HTML / JavaScript / CSS. Oh yeah, and it uses something called a background thread, fancy that. Not only that, it shows a message at the bottom with a progress bar letting you know it’s validating. This is something Eclipse does every time it’s doing anything that may interrupt you. It will tell you what it’s doing and usually give you a pretty accurate progress bar.

I admit I have seen eclipse freeze up at times, but usually it’s because I did something stupid. There are very rarely any hangs of any kind, unlike Visual Studio which hangs very predictably. So, Eclipse wins this round as well.

III. Customization

Customization is very important because, I don’t know about you guys, but I’m very picky about the way my IDE is organized. This is one category that I can’t complain about on the Visual Studio side. Visual Studio is pretty customizable. Microsoft made it easy to put your tool windows and whatnot wherever you want and dock them how you want. I like my left monitor to have only my editor window, and the right to have all of the tool windows such as Solution Explorer / Source Control browser etc. I like to have different layouts (or perspectives as they’re called in Eclipse) and Visual Studio kind of supports this, but it’s a hidden feature. There are a couple of macros that allow you to save your layouts, so you have to set up keyboard shortcuts to macros to make this work.

The one annoying thing is the “springy” tool windows. Especially if you hide a window like the errors window. Whenever there’s a parser error or warning the stupid thing springs out. This even happens when you’re TYPING in an html / aspx /ascx file. How can you validate if I’m still typing Microsoft?? Also, Visual Studio makes it easy to color your code the way you want to. It even throws in a nice import / export feature for all of your settings. And as a bonus a bunch of people have created color schemes for Visual Studio that are very good.

Eclipse is very similar in the way it handles customizing the UI. You can easily dock and move the tool windows anywhere you like. It also has built in and readily apparent support for perspectives. This means you can create a layout you like for one language, and save it, and then switch to another project and use another layout very easily. It comes with some basic built in perspectives that are good. Also, when you install new plugins a lot of them come with their own perspectives.

Eclipse also has support for importing / exporting color schemes. Which is nice, but nobody has created any color schemes (that I can find).

IV. Source Control / Team

Source control, very very important. Every developer knows this. And just as important as keeping your source uh, safe, heh, is the manner in which the source control plugin for your IDE works.

Like I said before, Team Foundation is pretty good. It’s definitely a lot better than Visual Source Safe. I guess I shouldn’t say pretty good, I should say better than Source Safe. But, I think a file share is almost better than Source Safe, so… The biggest problem with TFS is the way it handles workspaces / getting latest. I don’t know why this happens, but sometimes you get latest version, and it skips files or something. Because someone will fix something, I’ll get the latest source on the entire solution, and it doesn’t really get the new file. I have to do “Get specific version” and force a get on all files. I don’t understand why this happens, it’s so simple, download the mfing file. Also, in TFS there is no easy way to find a changeset. You have to go to “Get specific version” pick by change set then click find. Once you do that there’s a great search tool, but it’s just so annoying to get to.

I almost forgot about the worst part of TFS, conflict management. If you can call it that. A coworker literally showed me a conflict TFS complained about today where he had added a newline before an ending curly brace and TFS didn’t know what to do. Simply stunning. Conflicts are seemingly random, some things it knows how to merge perfectly, others it just runs away screaming. “WHAT DO I DO??? YOU ADDED A SPACE ON A LINE SOMEONE ELSE CHANGED!!!!!!” Seriously, I don’t know how they managed to make such a terrible conflict management system.

The rest of Team Foundation is okay. It’s pretty straightforward to add and manage tasks / bugs. There are a few quirks (the worst being this one). For the most part it works really well. It deals with links very oddly. When you click a link it launches IE inside of Visual Studio, regardless of your default browser setting. When you try and select a link to copy it, it opens in IE inside of Visual Studio, awesome.

Again, Eclipse wins. I use the Subclipse plugin, which is a plugin for Subversion. Subversion is very good, it’s fast, it’s simple it’s free. It can do everything Team Foundation source control can do it does it better. It’s really easy to get a project and to add a project to the repository. You can deal with multiple repositories at a time (unlike TFS). When you to an update (get latest in M$ speak) it actually gets the latest version. There’s an on the fly conflict view that you can have a look at that shows you where differences are between your file versions and the servers (TFS has nothing like this, and it’s very handy). I have never seen a conflict in Subversion while using Subclipse, I’m sure they happen, but the project I’m working on only has two active developers at the moment. So, I can’t really tell you how good or bad Subversion / Subclipse is at dealing with conflicts, but the diff tool is very good!

V. Integration

Well, Visual Studio’s section on this is pretty simple. If it isn’t Microsoft, it’s not in Visual Studio. Obviously, everything you do in Visual Studio involves .NET, or SQL Server, or MS C++.

This is where Eclipse really shines. I have used plugins for C++, the Web (html, css, JavaScript, DOJO and more), Python and PHP. They are all very good, easy to install, and easy to use. Check it out, you can even get a C# plugin for eclipse. Add another win for Eclipse.

VI. Conclusion

Well, there you have it. Eclipse is the winner. In pretty much every area I can think of, Eclipse beats out Visual Studio. If you’re doing .NET you’re pretty much stuck with Visual Studio. If you can settle for Mono, Monodevelop has come a long way. I am actually trying to get away from .NET and do some open source work since I have started to use Linux so much. It’s nice to build applications that run on more than one OS. Also, I do a lot of web work and I have discovered that ASP.NET definitely isn’t the best tool for the job. Yes, C# is probably just about the easiest language there is (Visual Basic doesn’t count, it’s not a REAL language), and the .NET Framework is very well organized, but even still there are a million ways to accomplish your programming goals. As far as development environments go, Visual Studio is definitely not the best.

Advertisements

40 Comments

  1. Gee man, some points sound a bit biased. Are you seriously comparing Visual Studio support for C++ to Eclipse’s? Startup times and overall speed of the IDE?

    To be fair, many points you raise are valid, but the multi-language support of VS (databases, C#, C++, F#, anything web related, …) is quite unbeatable. Eclipse does something similar, but with an overall level of polish, interface consistency and compatiblity that is much lower. Try debugging in VS: anything that can be debugged is debugged in the same exact way: same interface, same windows, same everything. This is not exactly the case with Eclipse 🙂

    About TFS, I use it in an environment where ~150 employ it regularly. We had problems with diff/integration just once, and it was a software engineering problem: you *never* let different people work on the same file, no matter what…Also, about the Getlatest/GetSpecific problem, it sounds like something is not configured correctly or something is being used wrong: nobody in my projects ever encountered anything similar.

    • I am comparing multi-language support. Microsoft provides support for Microsoft languages. In Eclipse you can add support for just about any language out there (chances are you even have a choice of multiple plugins). Startup time is probably pretty similar between both…but install time is not even comparable…Eclipse takes no time to install (just extract), whereas Visual Studio (with service packs) takes well over an hour. C++ support in Visual Studio is terrible, it’s Visual C++, not the industry standard. So it’s touch and go as to what will compile in Visual Studio. Visual Studio is typical Microsoft software, it’s slow, not very customizable, and follows Microsoft standards with no regard to industry standards.

        • Giuseppe Maggiore
        • Posted May 26, 2009 at 6:03 am
        • Permalink

        I mean true multi-language support, not just “code editor for language X inside Eclipse”. To be fair I am also mostly referring to .Net. I can go seamlessly from parts of my code written in Unmanaged C++, Managed C++, C# and F#. All the code is in just one solution, and the Intellisense is aware of the things available in dlls written in the other languages and keeps offering me help. Consider also that the debugger is the same, so that I jump in an out of code written in different languages during the same debugging session.

        I agree that C++ support needs more compliance with standards, that is always a bit of a pain.

        I’m not bashing Eclipse: it does some things great. I was pointing out that Visual Studio does a few things great not mentioned in the article. There’s no point repeating about fast boot time or startup time (I’ve seen all that) and “typical MS standard” is just too vague.

  2. Last time I checked eclipse (Rational actually), it was a LOT slower than VS2008, eating most of the memory on my desktop and crashing quite often.
    I don’t know if it was Eclipse or the IBM plugins that caused that, but my experience was quite lame on a dual core with 2GB of ram.

    • You’re probably talking about the IBM plugins…Eclipse itself is much quicker than Visual Studio. My point really is that Microsoft being the superpower it is should be able to make Visual Studio perform better, especially the installation, it’s ridiculous that it takes longer than an OS to install.

        • Giuseppe Maggiore
        • Posted November 3, 2009 at 7:39 am
        • Permalink

        That is the most idle comment I have ever heard. Come on, how many times do you need to install it? In my case it’s like a tiny fraction of the overall time spent coding in it, so the statistical significance is incredibly small. Plus, schedule VS installation so that you have something to do during it, no?

  3. Nice article and I agree. I don’t think install time is anything to be ignored. New dev comes in and they are down an hour or more just getting installed and don’t let there be team customizations. Eclispe you can backup a standard load and have them up in seconds.

    Also about the multi-language support…the response was typical of the MS world. Its trying to judge things from the confines of MS. The multi language support in VS is really just support of the .Net framework which basically can allow for different language syntax. A similar example for Eclipse would be like using a bytecode jar in java that was originally written in something like groovy. True multi-lang support in an IDE is about tooling for entirely different platforms. Of course they are going to ook different. PHP has different needs and tools than Java or Rails. VS has not tooling or support for anything outside of .Net. That’s simply not useful in the real world where not everything runs on a single platform like .Net.

      • Giuseppe Maggiore
      • Posted December 9, 2009 at 5:33 pm
      • Permalink
      • Reply

      “Basically can allow for different language syntax” is an oversimplification at best. The .Net framework is one of the largest ecosystems in terms of libraries and supported programming *paradigms*. Under .Net you get the dynamically typed paradigm (IronPython, IronRuby) the low-level stuff (C++/CLI) the middle-ground (C#, VB.Net) and even the strongly typed polymorphic functional (F#).

      This kind of richness is the best representation of years of research and study in Computer Science (I am a programming language researcher myself) and as such it is a brilliant contribution to the world of program development, not just some skinnable programming language 🙂

  4. > “Visual Studio is absolutely dog slow.”
    Are you serious?? I’d actually say that for Eclipse. Please do n’t lie to the world man.

    > “In general Eclipse is very very quick.”
    Yeah right.. With 6GB of RAM and a 3GHz quad core processor maybe it is faster than VS on a 200MHz Pentium! 😀

    > “Here’s my biggest issue with Visual Studio, right here. Opening a markup file such as an .aspx or .ascx file, is retardedly slow.”
    Maybe yes, but being better on a single area does n’t make it better than VS overall. I could mention hundrends or other areas where VS does better than Eclipse!

    > “So, to summarize, the install process for Eclipse is obviously a lot quicker.”
    Yes it takes longer to install VS than Eclipse. But that’s primarily because
    Eclipse does not actually install, it just extracts the zip file contents on disk (LOL!). Plus you forgot to mention that VS also installs the .Net platform whereas Eclipse expects to find a JDK. So it’s still not a fair comparison. But even if it installs faster, so what?? Is that an actual disadvantage? Do you actually reinstall your IDE twice a day? I usually keep it for months or years. So the actual point is how fast it starts up once installed, its memory footprint and how well you can live with it once installed.

    In that sense, Visual Studio is simpler, yet more powerful than Eclipse. It is ergonomic and much more *INTUITIVE*. Apparently it also seems to need the 10% of the memory that Eclipse needs to run.

    You made a point about Microsoft’s buggy programs and how “Classic” that is. In my personal experience Eclipse is the first most buggy development environment I have ever used. You say that Eclipse’s bugs are due to the plugins and not the IDE itself.. so what? Does this make the IDE less buggy overall? In my company we are using like 2-3 Eclipse derivatives (inclusing IBM’s WID!) which are ALL buggy. Hopefully there are still good IDEs that support Java, such as SlickEdit(but lacking good J2EE support) for some developers who have the priviledge of choosing their own Java development tool.

    I have years of experience in Java (plus .Net, C/C++, assembler, scripting languages) development in both Unix and Windows systems and I have been following Java since its birth. I really liked Java back then to be honest (it was around 96/97)! But to me, the single and biggest disadvantage of the Java platform compared to the .Net is it’s lack of high quality tools. In Java there are hundrends of tools (not to mention libraries) that supposingly do your job but in the end none of them covers your needs!

    I do n’t mean to offend you but in my experience, the only people that I have heard flaming Microsoft, .Net and VS are actually kids who never had any other programming experience since they left the University apart from Java and Eclipse. They have also heard about Linux and want to impress their friends by using Microsoft competivive products. People who have used great IDEs such as Delphi, Borland C++ or Visual Studio usually see the big picture.

    • I have been a .NET developer for 5 years now. I have been using Eclipse / Java for the past year. You can say what you will, but for me there is no comparison. Eclipse is far easier to set up, it’s easier to use, it’s more customizable and it runs much smoother. Visual Studio 2008 is still slow, and takes up to an hour to install even on a fast machine. And yes, that is a valid point, because when you’re trying to get a new dev environment up for a new programmer or a new machine, it takes a good couple hours. With eclipse, you can just keep a copy of a fully ready environment (including all the necessary plugins and settings) and just copy it to a new machine. You can even run eclipse off of a flash drive. .NET is an excellent platform, and C# is a great language. However, the development tools are still lacking. I have no problem using any Java technology with eclipse. There are plugins for virtually everything you need. Also, there is no defending Microsoft. They are so far behind in terms of their browser and their operating system. Windows 7 is much better than Vista, but it still has tons of issues. IE is a lost cause, and they just need to give it up…IE8 is absolutely terrible.

        • Giuseppe Maggiore
        • Posted December 19, 2009 at 10:32 pm
        • Permalink

        No defending Microsoft?

        Who the fuck cares about the company? Don’t try to troll your way out of a losing argument…

        • Giuseppe Maggiore
        • Posted December 19, 2009 at 10:45 pm
        • Permalink

        Even more interesting, care to explain where the “tools are lacking”?

        Plus, what company sets up a new developer’s environment by not just ghosting an image with all the necessary tools already installed? You really don’t do disk images?!? The idea that Eclipse gives you an advantage because of the necessity of reinstalling often suggests that the company workflow regarding environments is poor to nonexistant…

        • sowelie
        • Posted December 23, 2009 at 3:52 am
        • Permalink

        The tools are lacking in that, visual studio is sluggish. Most notably when editing aspx files. Also, on the fly compilation is unusable, due to it slowing the editor down. A ghost image is a good WORKAROUND for the software taking so long to install…with my Linux / Eclipse setup, it doesn’t take long enough to warrant any sort of image. All I am saying is for my circumstances, I am much happier with Linux / Eclipse / Java compared to Windows / Visual Studio / .NET. Java has a much stronger open source community, and many more choices. For example, you are stuck with ASP.NET, there is no other web framework for .NET. With Java, there are literally hundreds of web frameworks. I was able to choose the one that fits my needs (Grails).

    • Giuseppe Maggiore
    • Posted December 25, 2009 at 3:11 pm
    • Permalink
    • Reply

    What you say is quite fair 🙂

    What you do with Visual Studio and in general .Net depends a lot on personal preferences, education and field of work.

    For example, I find the lack of a decent alternative to the combo WPF/Silverlight to be quite irritating, since in my line of work developing distributed applications with a downloadable, offline desktop counterpart is very important. WPF and Silverlight allow me to reuse a large portion of my code and markup and greatly suits my needs…

    Moreover, I believe that too little has been said about multi-language support in .Net; for me and my team, where the skillset is greatly varied, the freedom afforded us by multiple languages is a huge plus 🙂

    Cheers

  5. Grr…again, here I am trying to get Visual Studio 2008 up and running for .NET MVC and the Entity Framework. I find out that I need Service Pack 1 for Visual Studio 2008…10 minute download (on my 8MB Comcast connection), and a 30 minute (and counting) install (4GB of RAM, Quad Core AMD Phenom).

  6. I am sorry to say but if you add the time to setup a full fledge environment for more than one language(Java) Eclipse sucks. Your arguments are at the best 20% true. Apparently you have not fully utilized Visual Studio in whatever experience you have.

    • I’m sorry to say but setting up Eclipse to work with PHP or C++ or Ruby or Python or pretty much every other popular language takes a few minutes to install a plugin. Visual Studio works with .NET languages ONLY. So, C#, C++ (Microsoft C++ which is crap), F# and VB (TOTAL CRAP). I have been using .NET since it came out…so I have plenty of experience.

  7. Great article! Every word you say is true. I am using Visual studio now for work, and I hate my self when I use it. What makes it more ugly is that I am programming in Visual Basic, which is the worst syntax I have ever seen in my life.

    • This must be the dumbest comment on the Internetz. What is a good metric for syntax, then? Enlighten me, please, and after that could you also spread some more light to these (http://lambda-the-ultimate.org/node/967) clearly clueless guys?

        • sowelie
        • Posted March 3, 2010 at 7:02 pm
        • Permalink

        Guy, Visual Basic IS crappy syntax. C like syntax is where it is at. Also, .NET’s LINQ integration directly into the language just makes ugly code even uglier. People can now just drop in LINQ expressions anywhere they like, without any need for any sort of organized data layer. I love how Microsoft is trying to make things “quicker” to code, just paving the way for morons to write even crappier, unmaintainable code.

        • Giuseppe Maggiore
        • Posted March 3, 2010 at 8:27 pm
        • Permalink

        “C like syntax is where it is at”. You people are just retrograd ignoramuses. Instead of keeping pace and studying new concepts as they enter the mainstream of programming languages, you just bitch and whine…I sort of pity you 😦

        Syntax is just, well, syntax. It changes nothing about the way you think about programs, it just changes what lexemes you write after having thought about the semantics of what you want to code. LINQ is simply a great addition to the .Net toolkit, and it allows great developers to express even more concepts in a clean, reusable and succint kind of way.

        A feature is not bad because a moron can use it badly: trust me, morons will always find brilliant ways to write crappy, unmaintainable code.

        • sowelie
        • Posted March 4, 2010 at 1:13 am
        • Permalink

        I’m not bitching and whining. I don’t have to use Visual Basic. I choose not to use it because the syntax is sophomoric. It is stupid, and not as easy to follow as C like syntax. Why do you think so many languages out there loosely follow C syntax? Because it has been proven over and over that it is very easy to read and follow. C#, Java, PHP, JavaScript, ActionScript, Groovy just to name a few. “Instead of keeping pace and studying new concepts…” Basic has been around forever…it’s not new. Also, I do study new concepts. I am using LINQ right now for a contract I am doing. I just think it is an unnecessary language addition. Look at Hibernate, it’s a great ORM system that is easy to use and is built within the bounds of the Java / C# languages. It is much more customizable than LINQ / Entity Framework, although it has a bigger learning curve. Yes, morons will always find a way. But, Microsoft is just opening the flood gates with all of the “simple” crap they are cramming into the language.

        • Giuseppe Maggiore
        • Posted March 4, 2010 at 7:42 am
        • Permalink

        The syntax is not “sophomoric”. That really does mean nothing.

        C-like syntax is just a very (popular* syntax. Nothing more. It has no advantages beyond being already known and thus requiring no further training on the part of the aspiring new developer. THAT’S IT.

        C-like syntax is very hard to learn, and more and more new users approach software development from an external perspective: finance people, physics researchers, statistical analysts, etc. These guys literally hate the crazy C-like syntax where you can write utter bullshit like “x = x + 1” (what on earth does that mean?!?) or where “{” and “}” are given huge meaning. These people often find alternative languages such as VB, F#, Matlab and many other to be a far more palatable alternative.

        Also, LINQ does not compare to Hibernate. SQLMetal and the OR/M tool integrated in Visual Studio compare with Hibernate. LINQ is just an interface to write *generic* queries and to send them to a query provider that translates them to the appropriate SQL. LINQ is a further layer of abstraction. Furthermore, LINQ is just a generalization of a few basic concepts:
        *anonymous delegates
        *anonymous types
        *type inference (the “var” keyword)
        and as such is immensely more powerful than for the limited scope of data-access.

  8. I love Visual Studio. I’m currently using Eclipse for some Android development, and it’s driving me bannanas, it’s totally crap, with endless UI inconsistencies, sill panels and buttons that you have no idea what they do, or how to get them back once they go.

    Absolutely horrible. The Lotus Notes of the IDE world.

    • That is a very ignorant analysis of Eclipse. It sounds like you’re not very familiar with it. It’s pretty easy to figure out what stuff does, and if you lose a panel…simply go to Window -> Show View and pick the view you want back…

      A comparison to lotus notes is just insane. Eclipse is very powerful, and used to build some pretty amazing stuff, including some of the best websites out there as well as tons of other software.

  9. I’m a very enthusiastic Visual Studio user (for C++ exclusively). Granted, the IDE is not without its share of problems (Intellisense sometimes craps out, occasional hangups) but by and large I find it to be a very intuitive, comfortable and powerful tool. I’ve also been playing around with the new Visual Studio 2010 lately and it seems that the Intellisense is finally working at 100%! It sure took them a while to get it right, but better late than never. 🙂

    • I have yet to play with Visual Studio 2010. It still took quite a while to install though. Honestly, I’m learning more and more that I just don’t like .NET as much as I used to. And I used to be a .NET fan boy.

  10. Both environments became so sophisticated that most of the programmers world-wide will never become skilled enough to work with either in the most effective way.

    The only thing they can try is stick to one setup (e.g. C# in VS or Eclipse and JAVA, whatever…), study, improve, take courses, study even more, take advanced courses to improve their overall development effectiveness in that particular field.

    I doubt that either of the two IDE (VS or Eclipse) or any language seriously prevent a programmer from producing clean, structured, powerful and reusable code.

    • The only IDE you need for crafting good code is pen, paper and some smarts 🙂

        • Christian
        • Posted March 25, 2011 at 1:32 pm
        • Permalink

        Or alternatively the nifty UML-Tools in Visual Studio… Haha! :o)

  11. Ok, I’ll bite.

    I think you are crazy.
    Honestly, there is exactly 1 thing I need from a programming IDE… I need it to be really easy to hammer out the code I need to write.

    So, Intellisense support is priority 1, and excellent debug / edit / continue / watch / trace / logging support is priority 2.

    The visual studio intellisense with matching in any part of the word (not just the beginning of the word) is something I can no longer do without, and I have only had it sing VS2010 came out. And, visual studio’s debug environment is consistent between languages and much smoother (imho).

    As far as your complaints…
    Install – use an image.

    Performance? seriously, get a real computer. developer time is so much more valuable than computer hardware… I bounce between eclipse and VS all the time, and I see no performance difference. you complain about aspx files, but honestly, you don’t even have those in java so how can you compare.

    Your source control complaint is valid, but honestly, how hard is it to install tortoise and use windows explorer to check in and out your code. Honestly, (imho) that is easier than using the CSV / SVN plugins for eclipse, even if it doesn’t enjoy direct support from the solution explorer window.

    Your integration complaint almost entirely false.
    VS supports javascript, html, css, and there are plugins for PHP and Python.

    Now, my real question: There is a nice little plugin for editing php using the VS IDE (VS.PHP). Does any one know of such a thing for editing Java in VS? (lack of Java syntax support is why your integration complaint was “almost” entirely false).

    My complaints with Eclipse are really the same as my complaints from most open source projects that actually have lots of devs contributing to them … consistency. When you have software developed by a team who all report to the same guy, you tend to get a more consistent overall feel and organization. When developers all do their own thing, you get menus that are all patched together, and you get php support that does the same things differently from what the java editor does.

    As a side note, LINQ is easily the most significant improvement to the software development landscape in the last 5 years. Before LINQ, C# was just MS Java, but since 3.5 C# is significantly more productive (for me). But I will agree that, “LINQ to Entities” is the worst database interaction “layer” designed in the last 5 years.

    As another side note, VB-like syntax while verbose and not necessarily great does have the advantage of not overworking the right pinkie finger. how many times have I had to type these characters…. []{}\|()-_=+ sure, you still use most of them in a BASIC like language, but no where near as much. “and” is only one more character than && but it has no fewer key presses and the keys are all letters. 🙂 “or” is much easier to type than || “end” is easier to type than } the list goes on. So, even though VB likes initial capitol letters for no real reason, and chooses verbose stupid words for its key words just to be different from C#/java/php that doesn’t mean it sucks any worse, in the end its all the same interpreted byte codes.

    /rant

    good discussion by the way.

    • Wow, I can’t believe there is still activity here.

      Installation – why should I have to use an image to install a glorified text editor? Why should an install take over an hour and a half? Windows 7 takes less time to install than visual studio. I’m not saying there are no work arounds for this problem (like using an image) I’m just saying, can’t the biggest software company in the world do better?

      Performance, yeah seriously. I have a real computer, on my home desktop which has 4GB of RAM and a quad core AMD Phenom. My work machine has 8GB of RAM and an Intel Core i7. Visual studio still hangs for no apparent reason at times, and upon first load takes forever to become usable.

      So, yeah tortoise isn’t bad, but it’d be nice to see Microsoft push open source more…If they would make their products more open and easier to extend we wouldn’t have to spend money every time we want a decent extension (such as a SVN plugin). The problem is they want people to spend thousands of dollars on Team System, which isn’t realistic for medium sized companies.

      Sure, eclipse isn’t super consistent between certain aspects. However, my overall point is that Eclipse IS an open source project. They don’t have the kind of resources that Microsoft does, yet they are able to build something that is pretty decent, and easily extensible. My point is, Microsoft should be able to better. They are the biggest software company in the world.

      So, yes LINQ saves a little bit of time. I wouldn’t agree that is a huge improvement in software development. As a matter of fact, in the hands of people who don’t know what they’re doing, it is a step backwards. Regardless, my point still stands. Microsoft can do better. It is just like with Windows, in Visual Studio they’ve been piling more crap on since 2005, and haven’t taken a step back and said: “Okay, how can we clean this up and make it more usable”?

        • brent
        • Posted April 14, 2011 at 3:42 pm
        • Permalink

        There will be activity on this topic so long as C# developers end up needing to do some work in java and dont have time to run the eclipse learning curve — unless someone comes out with a decent java plugin for VS.

        And, with android development on the rise, I see that scenario becoming more and more common rather than less and less.

        I’m willing to admit that sometimes VS decides to take forever to do stuff that has no business taking that long. Especially when opening designer windows for forms with user controls or bloated party controls. And support in the designer for using UI elements based on Generics is non-existent. There is HUGE room for improvement, but in terms of overall productivity, I still dig it.

        As much as I’d like a nice MS supported SVN plugin, I’d rather have a tortoise VS plugin, because MS would likely mess it all up, like they have basically every attempt at version control since they first stepped in to that ring.

        I also agree that with all those resources, they can do better. Just like windows 7 is better than vista because its got the fat trimmed, another round of VS that is mostly slimming would be very refreshing.

  12. If Visual Studio is problematic, why not just use MonoDevelop and then compiling with the separate C# compiler that Visual Studio uses?

    Nobody is forcing nobody else to use Visual Studio, even to obtain the exact same coding results…

  13. @brent Eclipse doesn’t have a bad learning curve, it’s pretty simple, I made the transition seamlessly and I rather enjoyed it.

    @Giuseppe actually, you are forced to use Visual Studio. I’d love to use MonoDevelop but it doesn’t do everything we need it to do. It is behind in support for the features of the framework. Is it so much to ask Microsoft to come up with something better?

      • Giuseppe Maggiore
      • Posted August 20, 2011 at 12:11 pm
      • Permalink
      • Reply

      What exactly is MonoDevelop behind in? The core is there, clean and easy to use…

  14. Another HTML “programmer” blogging about programming tools. Waste of time.

    • Writing markup is not programming. I do much more than write markup. That being said, if you look around I share a lot of time saving tips. If you don’t like it, don’t read it.

  15. I know I’m late to this party but I’d just like to say: Fuck Eclipse. This IDE hides so much stuff its absolutely infuriating. I’m having build issues but there is no way to find out what its configured to build and where it should be building it to (the tantalising Java Builder ‘edit’ button is disabled). Unless I want to configure a completely new build……
    I appreciate that its probably straight forward once you know the IDE but I find it to be absurdly unintuitive. When using Visual Studio.NET I can usually figure out where stuff is but in Eclipse almost never.

    Compare that with Visual Studio where its build menu’s specifically provides this kind of information (right click on a project, properties, build tab) or hell, just open the project file in notepad.
    One of the biggest victories with the M$ tech stack is projects and solutions. As these files _are_ build files its a cinch to work out your build issues and customise builds. I know that’s also easy with NAnt but with Eclipse you don’t get it for free (File=>New *.ant). Tbh after working with Eclipse on an off for the past few months I still don’t _get_ workspaces, and how they relate to what I’m up to. To me its a broken metaphor. My plugins go there? My source code goes there? My builds happen there? Do I check that shit into source? If not do I have to reconfigure eclipse when I use the source on another box? Discovery is also a pain in the ass because navigating through the workspace and trying to understand those files is a mind-fuck.

    Install speed depends on what you’re doing. I’m building a custom Red5 application in Eclipse and for it I have to install a wide range of plug-ins and very specific versions of those plugins. One of the plugins is out of date and no longer supported by Adobe so I have another manual step to add. I also have to configure 3 or 4 build paths. What sucks is that this is an entirely _manual_ process. If I want visual studio I usually can just get one bundle, maybe two, install them and go. I don’t kill 30 minutes because I happened to leave a semi-colon out of an environment variable. I don’t care if an install takes time, I can work on another box in the meantime what I care about is losing time to manual steps gone awry.

    In my conclusion, Fuck Eclipse. Jetbrains had a 75% sale on IntelliJ over December and I picked up a copy on the cheap. I’m porting to that because I trust they have a knack for design considering how awesome their other products are.

    • I can understand it can be difficult moving from Visual Studio to eclipse. However, most of your “issues” are simply related to you not understanding the IDE, or the way Java and Eclipse projects work. It’s really simple once you’re familiar with the platform as a whole. It’s just like anything else, there is a learning curve. You say “Fuck eclipse” yet you haven’t taken the time to learn it properly. I have been using it for years now and I hate going back to Visual Studio. I also would like to mention that I started out as a .NET guy, so I’m not some sort of Java / Eclipse fanboy.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: