Java IDEs vs Microsoft IDEs - visual-studio

I come from a strong Java background and in recent years have been also developing in C#.
What I can never understand is how far behind (Personal Opinion) the Visual Studio IDE's are in compared with Intelli-J IDEA and Eclipse (Java).
There have been improvements by Microsoft from VS 2005 to VS 2008, but I feel they are not quite there in terms of taking the development experience to the next level.
What I want to know is, is VS 2010 any different?
Why is it that the tools and syntax editors are so much more "evolved" in the Java IDE's.
Just to name a few:
Code Completion (Much more advance in Java IDE's)
Ant Integration (Eclipse and IDEA) vs Visual Studio Build Events
Lack of Code Repository integration in VS (Subversion and CVS) out of the box.
Lack of Advance Re-factoring Tools in Visual Studio.
Thanks.

A few points…
People tend to like what they know.
It is quicker to get up-to-speed in C# as the IDE and most of the tools / docs come from a single source.
In the Java world you have a lot more chooses, this is great for expert that spend times learning about them all, but does also lead to its own problems.
Adding ReSharper or Refactor to Visual Studio may give you what you want.
The Visual Studio debugging is great.
Visual Studio tries to make life easy for you by trying to find missing dlls etc and then storing where they are in the registry. This may be great for a 1 man project, but can often lead to build problems across developer’s machines if you are not careful. In the Java world you have to edit more config file by hand, but at least you can put these files under source code control.
There is not a small command line tool that works well on a build server that will build all types of Visual Studio projects. However in day to day usage you don’t need to learn how to use command tools, as Visual Studio hides them form you.
I think these days most programmers
are just happier with the IDE they
know best.
Note I wrote this over 6 years ago, since then C#/.Net has got a lot more complex, with lots of open source projects. Microsoft has also open sourced a lot of the .net framework. For web and server side development I expect there is now little to choose between the Java world and the .Net world. For “smart clients” .net still have a lot to offer including the new support from cross device phone development.
For multi-threaded IO, I think c# is years ahead of Java, but that could change as C# and Java keeps learning from each other...

Visual Studio has definitely been coming on over the last few years - although many of the improvements have basically been things that Eclipse has had for ages (I haven't used IDEA myself).
You may well want to look at ReSharper, which brings more goodness to Visual Studio, along with the VS2010 Productivity PowerTools.
Also, have a look at Scott Guthrie's blog series about improvements in VS2010. Lots of goodies in there.
All tools have their strengths and weaknesses - these days I'm about as happy in Visual Studio as in Eclipse... although I'm much happier writing C# than Java :) One area where Visual Studio really shines is debugging though... I find things like the VS Watch window to be much better than Eclipse's equivalent.

Visual studio 2017 is still far far behind Intellij IDEA. I'm using both and i can say that even VS2017 with ReSharper is not comparable with IDEA.
Biggest problem for me is that VS still doesn't offer usable hot reload debugging experience. I'm crying every time i have to rebuild my .NET MVC project (it is +- fast, but IIS Express load time ~ 15s EVERY time you make even the smallest change in your code).
If you want to argue with "Edit and continue" so so hotreload function - it is absolutely useless, you can't do almost any change in code without rebuilding (and everytime you have to manually break code and close opened tab with useless information).
So i'm really looking forward for full version of IntelliJ Rider bringing all super user friendly possibilities of IntelliJ IDEA to the .NET world!

I don't agree with you. I think VS is much more easy to use.
For example, when i need to create a web application. I open VS and create a new project (Web Application). After the project created, i press f5 and tadda!...
But if want to create my web application with Java, i need to install a server or some frameworks. Still i don't know how can i create a web application?
Or, Windows Application.
At VS, you don't need do any thing to create a windows based application like web application. but if i want to create windows based application with Java, i had to do something.
I think VS IDE is more user friendly than Java IDE's.

Related

How to integrate TFS with embedded development

In our company, we have two main development environment. One uses VS2010 for C# and C++ development, the other uses Code Composer from TI (not the newest Eclipse based, and no, I cannot upgrade it right now).
Some of the C++ code is shared between VS solution and the embedded solution.
I'm in the process of upgrading our VSS to TFS, and so far everything is a bliss, but it is going to be a hard sell telling my EE engineers that they need to install VS2010 to perform source control.
I'm installing the TFS 2010 Power Tools right now, but the bad reviews scare me.
So, what's the best way to perform this integration?
You can get the engineers licensed with TFS and then use the explorer to have them check in and out, if Visual Studio scariness is the main issue. The explorer is very lightweight compared to Visual Studio.
As for the power pack, it is an installation on top of VS or the Explorer, unless you are talkinga bout TFPT.exe, which is a command line tool to be able to work with source code. I would not head that way, although engineers might be brainiac enought to love the DOS/UNIX like syntax. :-)

Limitations of sharpDevelop

I am looking in to using sharpDevelop to develop Windows (.NET) applications over using Visual Studio. I'm just wondering if there are any serious limitations to using SharpDevelop over VS? The price is certainly right and at first glance it seems like a pretty decent IDE. I'm just wondering if it is compatible with VS. I mean if I am collaborating with other developers that are using VS, can we seamlessly pass projects/solutions back and forth and work on them? Just wondering what people's opinions are.
Past year I start using SharpDevelop to develop a large application.
Based on my experience, I can say these are some advantages in using it:
It's faster than Visual Studio; if your project is pretty large, you have to spend less time waiting for the project to compile
It's free
One important disadvantage I've found is the lack of a good refactoring system, in Visual Studio I used Jetbrains Resharper for its great refactoring support.
Now I've returned to use Visual Studio, just for the facilities offered by Resharper.
SharpDevelop 4.0 Beta 4 (as the most current version) is pretty stable as for a Beta. Besides being free it has some pretty features which can be extended via AddIn (a sort of plugin system). A large number of project templates for the most popular languages supporting the .NET Framework. A possible limitation is the support for ASP.NET which still lags behind VS.
Surely you can bet that the top versions of Visual Studio may have some better tools, options, better integration and so on.
Please consider comparing SharpDevelop to the Express Editions of VS. Then it will be obvious that SD is a big win if you don't have to pay. Consider it also as a different product, not only a copy of VS (just not to say 'option X is called here Y, opposed to VS').
This feature by feature comparison list for SharpDevelop vs. VS Express might be helpful.
I'm working on a project that was started using Visual Studio 2010. Although according to a special engine we've created the number of code lines is not very high, the project builds very slowly. I tested sharpdevelop, and it was about an order of magnitude faster!! The only problem we faced was that we could not debug our server and client together, something that VS does like a charm (well, that charm requires some patience), and shows the stack trace of the server, on top of the client, which is very useful.
My suggestion: use sharpdevelop unless you absolutely need a feature it lacks.
SharpDevelop 4.0 Beta does not support the default Visual Studio installer projects. However, since these are going to be deprecated after VS2010 by Microsoft, this is probably not a main issue for you.

Favourite Features of VS 2010

With the general public release of Visual Studio 2010 Beta 2 today, this latest version has created a lot of hype and interest.
Indeed, the opinion I've gauged is that VS 2010 has resolved a great deal of the minor flaws left over from previous versions, as well as added some particularly useful new code editor and project development tools (in particular the Premium/Ultimate versions).
My question here is: what are you favourite new features in VS 2010 that have really got you excited? Or similarly, what are the flaws of VS 2008 that you are most glad to have resolved?
There is a wealth of changes in VS 2010, of course, but these are some of the ones that have interested me most (about which I know!).
Integrated support for F# (with multi-targeting for .NET 2.0 - 4.0)/
Much improved WPF designer. The VS 2008 was more than a bit buggy at times.
Great improvements to the code editor, such as call hierarchy viewing.
A decent add-in framework.
A greatly expanded testing framework (now capable of database testing, for example) in Premium/Ultimate.
Project planning and modelling features in Premium/Ultimate.
If I could request one point/feature per post, I think that would be best, so we could vote them individually.
Visual Studio 2010's true Multi-Monitor Support sounds pretty fantastic.
The feature I'm most looking forward to having a decent play with is actually more .net 4 than visual studio. Parallel Extensions looks like it will be very interesting.
The new, clean web.config should make my managers happy.
"Just change the option in the web.config"
"Where is it?"
"Under 'AppSettings.'"
"Ugh ... there's so much junk in that file."
The built in profiler and historical debugger!
The 'Navigate To' window (Ctrl+,) is fantastic. Eclipse has something similar, and I've always thought Visual Studio needed it. Now if they would just add a 'Collapse All' button to the Solution Explorer...
One-click web publishing will be handy.
Favorite feature? Requiring 4 gigs of RAM to run it's bloat.
I liked many features
Deployment
Gated checkin
Parallel Programming
Faster debugging
Separate debugger for x86 and x64
These are just few.... The more you explore VS2010 the more you will get. Try to go through the videos by microsoft.
Thanks,
Sunil Agarwal

Is there any risk while using Visual Studio 2010 Beta 2?

Is it safe to use the beta versions of Visual Studio?
By safe I mean, while developing any project in this studio, is it probable that it may cause some losses to my project? Or any other kind of risk?
Should I just use the studio 2008 and
wait for the stable version of Studio
2010?
Purpose of the question: I am doing my graduation project in .NET framework (includes - C#, WPF etc.).So I don't want to put my project at any risk because of some issue regarding (beta) visual studio.Hence the question.
As long as you are using a version control system, there should be no problem. Simply check out your project (or better yet, create a vs2010 branch) to an experimental folder and work from there.
There are no hidden risks when you use version control appropriately.
Visual Studio 2010 will convert your project files to its new format, meaning you'll have trouble if you want to go back to VS2008 later. I'd suggest holding off for now unless you can find a way to keep both old and new versions of the project files up to date.
There's always a risk in using beta software (but then again, there's always a risk in using any software). The whole reason it's called beta is because the company is not confident that it's got all the bugs worked out. Otherwise, it would have been released so they could start raking in the moola.
There are quite a few ways to mitigate the possibility of any beta software (not limited to VS2010 or even any programming-related product) from causing you trouble. Choose any from this list, which is by no means exhaustive:
Don't use it on the same data (be it accounting information or source code) until you've run it in parallel and gotten the same results as with the older version.
Plan a backout strategy if the software is so bad that it's easier to go back than to try and go forward.
Backup your data even more frequently during the periods where you're using the beta software, up until the point that you're comfortable with it and can revert to a more normal backup strategy.
Don't use beta software at all - wait for the real release (or SP1 if you want to be even safer). There may not be a driving force behind updating to the latest version.
As a company, limit your exposure to the beta software to a small set of your employees. So, for example, if you have six different teams, choose the least important as a sacrificial lamb, so to speak.
My own personal preference is to wait until everyone else has sorted out the problems first. I didn't upgrade to the latest Ubuntu while it was in beta (I still got burnt a little bit with the video and X but that particular problem already had a solution on the net). I don't download the latest and greatest Eclipse until it's been in use for a few months. I'm still using VS2008 under Windows XP since there's nothing I think I need in the latest release (of VS or Windows).
We obviously have the latest and greatest OS' in our test environments but they're crash-and-burn environments that won't cause any real pain if they blow up (other than a rebuild but even that's pretty painless nowadays).
For your particular circumstance, I would probably stick with a tried and true version. You don't seem to have a pressing need for any of the new features in your question and the sort of failure you're talking about is not just losing some information at work which, while annoying, is probably backed up to the point where your career would survive.
A similar loss of your educational work would affect you for a long time if you fail your subject because of it. I would probably just concentrate on getting it finished rather than worrying about what VS2010 beta might do to my work. Don't misunderstand me, you should still be protecting your work even with VS2008 but I'd personally feel safer with that option.
Then, if you have some spare time at the end of your project (hah! as if that would happen!), you could try to convert what you've done so far to VS2010. If it all goes pear-shaped, you still have all the VS2008 stuff available.
There is certainly risk in using unproven software in that it could behave unexpectedly. Some of the answers here focus on protecting your source code and that is a valid concern, but you should also consider other risks.
Could Visual Studio 2010 make your system unstable? Having your source code in a local instance of source control won't do you much good if Visual Studio corrupts your hard drive. Even if you backed up regularly, you'd still be out a good day or two (MINIMUM) rebuilding your desktop.
Also, what do you intend to do with the finished product? Will a professor attempt to open the project on their own desktop? Are you expected to deploy it to another environment? We see these "Works on my computer" problems using proven software, a beta certainly increases the probability of running into this type of problem.
So yes, there is certainly increased risk in using a beta. You can take steps to mitigate the risks but with important work those are steps you should be taking anyway. Is the benefit of using Visual Studio 2010 worth the increased probability of delays / data loss / grade impact?
I know I'm experimenting with VS2010 and I haven't seen severe problems but betas are not proven/guaranteed - the overall risk is probably slight but it is a risk nonetheless.
I guess I would approach the question differently...Is there any real value in using VS 2010 over 2008? I have been using both for a while and I would say, No.
I have had some mysterious crashes with VS 2010 and the application has disappeared on me, causing me to lose any unsaved data.
If you are integrating IronPython / Ruby or working with Office or VB style COM, there is more support for this in .NET 4.0. Beyond that, most of the changes add some shine to the IDE, but not much real value.
my 2 cents.
The biggest risks you will face are crashes, random tool window misplacements, and occasionally Visual Studio will refuse to start and you will have to reset all your settings to have it working again. 1 (I am anyway reasonably happy with Visual Studio 2010 and don't regret having installed it; in my case the compelling reasons were unit testing and visual designer for Silverlight)
But as ocdecio says, there should not be danger for your code, especially if you use a source control system.
As an additional advise, target your projects to .NET Framework 3.5. Using a beta development tool may be ok, using a beta .NET Framework in a production environment is usually not.
1 This crash is supposed to be caused by using raster fonts for the code editor, but it has happened to me without using this type of fonts.
Given that you've said the project will be "tested on another system", the answer is simple: use VS2008. VS2010 solutions cannot be opened by earlier versions, and I wouldn't bet my graduation project on whether or not someone else has VS2010 installed.
Other reasons to stick with VS2008:
VS2010 probably doesn't gain you much.
There are bugs, and I'd rather be working on getting my graduation project done rather than working around problems with my development tool.
If you need help along the way, those that can potentially help probably aren't using the same version. That may make a difference, it may not.
Another thing to consider.. usually the EULA prohibits you from deploying and/or shipping a product using a Beta version of the toolset. I'm not sure this applies in your situation but it's a point to consider.
Another potential issue I've heard of is that sometimes Visual Studio betas refuse to uninstall when it comes time to put in the RTM version. So as long as you don't mind reinstalling Windows when you're ready to install RTM and you've taken the other answers into consideration, then go ahead.
Since your project is for a graduation project and not for full production release, I would say use the latest/stable version of Visual Studio 2010.
You will gain more than you will lose as you will be using the latest technology which will be more useful going forward.
There is an issue for touch screen machines which may render WPF applications unusable.
A workaround exists. See details:
‘MS.Win32.Penimc.UnsafeNativeMethods’ Threw An Exception
fix: C:\Windows\Microsoft.NET\Framework\v3.0\WPF>regsvr32 PenIMC.dll
The biggest problem I have with VS2010 Beta 2 is designer. The Windows Form Designer generates buggy code (Microsoft Connect bug id 507267 and 499925). So I have to edit the form in older version of Visual Studio
I have a few other problems not related to code lose, like random crashing and wizard disappearing.
I've just spent two weeks in VS 2010 beta 2 doing some serious prototyping work. It all went pretty smoothly, and I really like VS 2010. At the end, I moved all the code back to VS 2005 and integrated it with my current project. My experience:
Moving the code back to 2005 was pretty easy. I did try not to use any C# features from 2008 or 2010. The only thing I missed was C#'s implicit properties, but those are easily fixed.
Yes, the project and solution files are not backward compatible. To migrate back, I just created new projects in 2005, and pasted the source files in through Visual Studio. Worked like a charm.
I did find one thing that would consistently crash 2010. If you use the splitter to view two different sections of a file at once, and cut-and-paste from one pane to the other, VS 2010 will roll over and die pretty quickly (not necessarily at the time of the cut-and-paste, but very soon afterwards).
There are some nice productivity features in 2010. You can drag a tab out and make it a window. In Windows 7, you can drag it to the top of the screen to maximize, or to the side to use have the screen. Dragging one file to one side of the screen, and another file to the other side, means you get the whole screen to edit two files, side by side. Very nice. (Even better on two monitors, but I was on a laptop.) The "Quick Find" dialog can now be docked -- that's a huge improvement.
As others have mentioned, use source control, but VS 2010 really is not unstable enough to be any more of an issue than VS 2008. Note that Team Foundation Server 2010 is also available in beta, and will be part of all MSDN subscriptions. It installs under Win7 and Vista. I'm using it for source control on my laptop! Team Explorer is integrated into VS 2010.

What is so great about Visual Studio? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
In my admittedly somewhat short time as programmer, I have used many development environments on many platforms. Most notably, Eclipse/Linux, XCode/OSX, CLI/editor/Linux, VisualDSP/Blackfin/Windows and MSVC/Windows. (I used each one for several months)
There are neat features in pretty much all of them. But somehow, I just can't find any in MSVC. Then again, so many people really seem to like it, so I am probably missing something here. So please tell me: What is so great about Visual Studio?
Things I like:
Refactoring tools in Eclipse
Build error highlighting in XCode and Eclipse
Edit-all-in-Scope in XCode
Profiler in XCode
Flexibility of Eclipse and CLI/editor
Data plotting in VisualDSP
Things I don't like
Build error display in MSVC (not highlighted in code)
Honestly, this is not meant to be a rant. Of course I am a Mac-head and biased as hell, but I have to use MSVC on the job, so I really want to like it.
The best thing about visual studio is that it's the host application for Resharper ;)
It depends from programmer to programmer. I preferably like Visual Studio because:
(1) Development is much faster as compared to other IDEs.
(2) Intelli-Sense concept works best in Visual Studio. In some IDEs I noted that the menu opens when you pressed the . and moved ahead. And also the concept of Intelli-Sense started with Visual Studio. I am sorry for hurting if I am wrong.
(3) I use Aptana Studio for PHP development. It is a great IDE as it is built on Eclipse, but still I am able to work faster, specially while working on HTML files, using Visual Studio than in Aptana. But again, Aptana also has some very neat features.
(4) I find debugging a .NET application using Visual Studio much easier than working with other IDEs.
IMHO, Visual Studio has one of the best debuggers in the business. Much easier to use than the many graphical frontends to gdb out there.
Visual Studio is more integrated with its supported languages than anything I have ever experienced (I've been around the block--Aptana, Eclipse, Zend Studio, etc.).
Add ReSharper to the mix, and I'm in heaven.
What I like is the:
Intellisense (code-comletion features)
In-environment documentation
ReSharper is a plug-in which enhances these things and adds some more advanced features like large-scale refactoring, killer object discovery features, code validation against recommended standards (which you can change to fit your own needs).
After close to 10 years using and loving Visual Studio up to version 2008, I have been doing some Java development in Eclipse for a few months and I am quite surprised that, in my opinion, Eclipse is a much more advanced IDE. I just miss a lot of features when I go back to VS.
Perhaps the people that think VS is the best haven't used any other modern IDE lately.
I had the same question myself, since everyone seems to love Studio (and I personally think it's not even close to Eclipse's abilities).
After a lot of reading, I came to the (possibly wrong?) conclusion that: Visual Studio is great for .net languages, but Visual Studio for C/C++ is just not close to as good.
Almost everyone who speaks so highly of Visual Studio is coming from a .net background, and a lot of the wonderful things they keep talking about, I just couldn't find when working on C++.
This, btw, makes a lot of sense: the main effort of Microsoft is to push .net forward, and the tight integration with Studio makes it a very powerful IDE (the same way Eclipse is great for Java development).
If you are using Visual Studio for C or C++ programming, you should really look into Visual Assist X. It adds refactoring and better syntax highlighting and a few extra things.
If you are using Subversion for version-control, you should also look into VisualSVN (best) or AnkhSvn (free).
With those add-ons you might find Visual Studio more to your liking.
'Out of the box', I can write a program without having to go through all the hooplah of installing CDT (or whatever other tools). This is a real PITA for Ubuntu and not much better on windows. (The updates never seem to work right, there are always stupid package incompatibility problems, or special install steps).
The environment 'feels' natural to windows and non-clunky, and that lack of awkwardness counts a lot toward productivity. Shortcuts are common with other windows apps, window behavior is the same, etc.
VS is also not cluttered by a crapload of windows when you open a project. I'm sure that there are ways to save the perspectives in Eclipse so you don't have to do this every time, but it is an extra step.
Visual Studio isn't a great IDE at all - I discovered that when I started C# development.
With Resharper it's pretty nice, with features present in better IDEs like Eclipse andIntelliJ IDEA.
I have no idea why Microsoft doesn't just buy JetBrains and merges Resharper into Visual Studio.
Visual Studio Team System Data Base Edition - all the tools you need: code editor with designer, Source Control, Team View and , what's best - Data Base deployment!
Probably someone else already gave this answer, but:
DEBUGGING Tools
That's it. Simple as that. Point me to one tool that can debug code as fully as VS can, and I'd marry it (yes, I'm married to VS). When you are targeting .Net, things get even better.
Which one did you use first?
From someone who has been developing since...uhm...punching holes in cards and has seen IDEs evolve I actually like using Visual Studio, but I like other ones too. I find Visual Studio is best with Microsoft specific languages such as VB or C#, and it has many of the features comparable to the points you say you like in others.
I do find that I need time to get used to a new IDE because since I use VS a lot, I'm usually looking for the VS way to do something. So maybe it's just the case of giving it time. And if you don't like it try out the customisations to change it or turn it off.
I dare say that VS introduced some ideas that other IDEs adopted and vice versa.
My top favourite thing is the intelli-sense that never seemed too obtrusive compared to other IDEs, and for C# VS 2003 seemed to get a lot clever at predicting what I wanted to type.
It certainly is not an IDE to despise.
VS is getting better from version to version, with 3rd party tools like resharper it is as good as the other tools. (sames goes to profiling.. the 3rd parties are pretty good).
basically - if you coding dot net - this is the tool, and if you're coding java - you have the others...
so the real question - which framework you like better, and not which IDE....
.... and if you are only using good old c++ I think which ever tool you're used to...
I used to compile c++ on borland on dos and I was happy :-)
I use both Delphi and Visual Studio. While I prefer Delphi (for a lot of reasons), there are some things that Visual Studio does better.
The code editor works better, making writing code smoother, and therefore faster.
The help. It's faster, returns more relevant results and is better integrated into IDE.
It's more of a .Net thing than Visual Studio, but I'm really liking ASP.Net, so I'd have to call that another win for VS.
And for bonus points, I'm also a big fan of Delphi Prism, which is hosted in Visual Studio.
So, if you're writing code for Windows, there are a lot of things to like in the Visual Studio IDE.
The debugger (I primarily use C++). I make sure my projects work in Visual Studio all along, even if my team in my job isn't supporting it, because it always saves our hide in the end. Otherwise its non-standard solution/project system is somewhat annoying.
Also, for someone accustomed to using VS, Eclipse is far too sluggish. It's like an ice hockey fan trying to become a soccer fan. It can happen, but it's not easy.
I tried using VS2010 for working on a Great Plains / eConnect project, and it kept crashing on me.
I would like to like this IDE, but I can't even use it right now. VS2010 has the featureset I need to work on the above (with the newest versions).
I like VS because it is the more responsive one (runs circles around Eclipse for instance). I'm still using 2005 though and not looking forward to the upgrade to 2010 (we skip every other release, so not 2003 and no 2008 here).

Resources