Comparing Visual Studio and Eclipse
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."
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.
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?
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.
.net and this is shocking since I rarely did MS development before VS 2005.
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
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.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
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.
Everything I write is lies, read between the lines.
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.
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)
Insightful? While the great Java Development Plugin made Eclipse famous, the C/C++ Tools 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.