developers only like visual studio because either they haven't had much experience with anything else, they use languages that require massive amounts of IDE to be practical or they paid for it which results in 'money bias'.
Its rarely because they knowingly like it.
That's the opinion I've managed to deduce after working with over 200 heavy vs users over 10 years.
I beg to differ. I've written code on Windows, OS X, and Linux, with tools ranging anywhere between Xcode, VS, and plain old vim.
Visual Studio is a fine IDE that has a lot of things going for it. Hell, now that I write Obj-C for a living I wish Xcode was more like VS (especially when it comes to stability).
In contrast, I'd rather marathon American Idol than use Eclipse for a single day.
I use ex-vi (the original Bill Joy) version for preference, in 80x24 xterms tiled using fvwm2.
I am not really a GUI person.
I ... loved Visual Studio + VB6 for UI heavy apps. The programming language was kinda lame but it was just about good enough, and the form designer tools were excellent.
I debugged using whatever the (now lost from my memory) appropriate colloqualism for printing to stderr was, because yeah, sorry, I'm like that. But I loved it for everything else even so.
Do not underestimate the awesomeness that is Visual Studio once you've had time to develop enough Stockholm to ignor the crazy quirks.
XCode has matured very recently. It's gone from worst IDE to arguably best in a very short amount of time.
Recent additions include integrated Git, code intelligence so good that it understands C++ templates, in-IDE static analysis, one-keystroke to fix typos in identifiers, etc.
No scripting. Cretinous window layout facilities. No search and replace in selection. No mixed source/disassembly view. Registers view disappears when as you debug. No keyboard shortcut for rectangular selections. Code browsing menu 'thing' doesn't show structs. That stupid log navigator is too damn narrow, and has a proportional font. Pasting of rectangular selections doesn't work. No column/line number display. Lacks numerous basic simple text manipulation commands.
If only Xcode could refrain from crashing long enough to take advantage of those new features.
As a Mac dev for about two decades, I find that Xcode has taken a massive downhill slide latel. It went from merely mediocre to nearly unusable in a remarkably short amount of time.
I know a professional developer or three who write low level and high level code on multiple platforms and use vim and gdb fluently and who prefers Visual Studio for coding on Windows. If you do the kinds of development that it is designed for, especially the dotnet managed stuff, it is a really good development environment.
But for doing lower-level native Win32 code, the kind of thing Microsoft seems to be wishing would just go away, I prefer a command line compiler. Linux and Mac are generally much better for that kind of development.
I disagree. For a few hundred/thousand line projects it's ok.
I deal with large (1Mloc+) 10 year+ old codebases in C#/ASP.Net and it is in no way capable of handling a large project without chopping it into miniscule assemblies and having solutions for each.
The IDE is monolithic enough to have severe usability and performance problems. It doesn't scale well and therefore is a risk if you want to continue using the platform for many years.
It's true. I have to split off separate .slns when the code gets to be large like that. I would not try to handle 1M lines in a .sln. UI responsiveness took a huge hit after VC6 with the dotnet stuff and never really recovered.
>developers only like visual studio because either they haven't had much experience with anything else, they use languages that require massive amounts of IDE to be practical or they paid for it which results in 'money bias'.
Disclaimer: I work for Microsoft.
Your assertions about why developers like Visual Studio are nonsense... I like it over Sublime Text, RubyMine, WebStorm, gedit, XCode, and a slew of other tools / editors I've used. Why?
Because it has a great extension ecosystem (ReSharper, dotCover, TestDriven.NET, Git Extensions, VisualSVN), has by far and above the best live debugging tools on the planet, the best code completion, IntelliSense, and a slew of other features that make my development faster and easier.
And I say this as someone who's done plenty of C# in MonoDevelop too, without the aid of many of those VS features.
So no, Visual Studio hasn't jedi-mind-tricked me into liking it - I like it because it gives me the best experience and makes me more productive.
Interesting. I develop C++ on windows, linux, and mac OS X, and I find visual studio better than any of the alternatives. Obviously visual studio only excells for those languages it has support for, but for those it is best.
Or they paid for it because the alternatives weren't any better. Visual Studio Debugger is very nice, I don't know of anything that's as good, and as mature. Attach To Process with a nice UI is a great tool compared to the command line debugger.
VS 2008 and 2010 are worlds better than 2005 -- so if we count the last 10 years nearly half of that will be people using 2005, and yes that was awful. Two version later, is it worth asking for a good price for a full featured version? Probably.
DDD, Netbeans debugger and Eclipse's debugger are on equal standing. I've used all heavily.
However, I tend to rarely use the debugger on my own code in any language since I started doing incremental TDD and using assertions galore all over the place to check inputs, outputs and assumptions. Prevention is better than cure (or debugging).
You can't assert everything, you can't test everything (like the tests themselves).
You can't assert a list of hard coded values are all correctly spelled via an assert. You can't determine if a library that has it's own asserts is failing or your code is failing. You can't always add asserts to legacy code, etc.
Hats off to you if you can use DDD heavily. I've given up on that shortly after every time I've tried to use it. It seems very prone to crashes and lockups. MSVC will too sometimes, but it's really pretty rare.
I can only suggest that either your users or your perception of these users is heavily skewed in an odd direction. VS is not without issues (bloat, Intellisense) but imho it's absolutely the best at most of what it does. Specific users with specific preferences will prefer something else, and in most cases they will consider themselves 'super power users', but for most developers anything that's not VS is a step down in features and usability.
Its rarely because they knowingly like it.
That's the opinion I've managed to deduce after working with over 200 heavy vs users over 10 years.