Everything's been downhill since VS6. I'm only joking, but seriously, does anyone remember how lightning fast VS6 was? That was over 15 years ago with much slower computers. I guess application 'snappiness' has not been a priority for the Visual Studio decision makers.
I've used VS since the late 90s (writing node.js in ST2 now) and honestly appreciate the hard work and cool features that goes into it. The new VS2013 feature that shows how often a function is referenced is useful. I don't get that in ST2 and probably never will. But I've used VS enough that I've become philosophically opposed to it and other similar IDEs. The core of the problem for me was that all the fancy wizards and project templates are not maintainable for MS. There were a number of times I was using some new project type introduced in a version of VS only to find the template was incompatible in the next version (e.g. reporting in 2005). This inevitably lead to a lot of unexpected work when my team would upgrade. Many of the productivity wizards impose hidden debt on their users.
Another major gripe was that VS would get really sludgy for solutions with a great number of projects/files. Take note that whenever you see MS demo a hot new feature, it's always with a very simple solution. Also, VS would block for me a lot, but that was probably due using too many plugins. I'd find that an application freeze of even 2 seconds would distract me. Not an issue I face now with a text editor + repl.
I think you may have selective memory with regards to VS6 (understandable over 15 years). Having recently worked at a company that for silly reasons did not upgrade beyond VS6, it was not lightning fast, took several minutes to open, and crashed frequently even with smaller projects.
Modern VS really needs to work on managing large projects- but this isn't something it ever had to begin with, and has certainly improved since VS6 despite added functionality. The responsiveness issues you list seem a little more problematic than normal from my experiences- I would definitely try uninstalling a few plugins and seeing if that helps.
Bingo. I've regularly worked with 15+ project solutions, and never noticed much hanging. Read through this guy's entire comment wondering what he was talking about until I got to that part:
> Also, VS would block for me a lot, but that was probably due using too many plugins.
Yeah, that's where your problem is. I'd put good money on ReSharper being the problem, as it's slowed me down in the past. Uninstalled it and never had another problem. The only plugin I have now is VsVim (which I highly recommend for those who'd like vim bindings.)
Chromium is an extreme case of this. When we started we wanted to live the VS way of life (IDE tools and the like), so we had a Chrome.sln and various projects. Eventually it became too much. It would take minutes to load the sln, and woe to you if you synced your source tree while msvs was open, as you'd receive a neverending slew of modal prompts asking you to reload each of hundreds of projects. I think we still have a msvs build, but most developers use ninja on Windows, and just use msvs for debugging. The sad fact is that addons like Visual Assist X provide many of the benefits of the IDE without requiring projects to be loaded.
How many projects does chromium have? I typically work in a solution w/ about 175 projects and it only takes about 10 seconds to load up for me on 2012.
It's a single product, composed of multiple projects/targets building different dlls/executables. That was my understanding of the point of a "solution" (vs the old days of VC6 when there were only projects and workspaces). Anyway, it used to work back in the days when most of Chrome's code came from WebKit. Now we're many times bigger. It's clear MSVS' project UI is not intended for building projects of this scale. I'm assuming Microsoft doesn't use this UI to develop windows, or office, so it's not surprising this case isn't supported.
I have no idea what the Windows or Office people do, but the Visual Studio group certainly does build their own software in VS. (Or did as of mid 2009 when I quit, anyway.) It was not a particularly pleasant experience!
I disagree heavily. Stock VS is very fast. However it does slow down significantly when using a plugin like ReSharper.
But for me in the end it is worth it. Show me any text editor or IDE that provides the same number and quality of productivity enhancing features as ReSharper that isn't as slow or slower.
R# 8.0.0 had a bug where it would crash VS from time-to-time. I ran `devenv /safemode` to load VS without any third party stuff in an attempt to identify the problem and my god, it was fast.
I have a 28 project solution, and with R# the IDE is still plenty fast but every so often I think about just how fast VS was without plugins.
Not worth it for me. I have a very fast system (i7, 32GB, RAID 0 SSD), and ReSharper slows everything down too much to be usable. I'm not sure if it's the projects I work on -- I've used it usually on pretty large ones like Orchard CMS so that might be part of it.
VS6 was very fast, but its compiler was bad at standard compliance. GCC was much better. The newer MS compilers are way better at supportiung the standard and they also did a great job integrating the new language features. So I would say there is significant progress since the days of VS6 :)
That being said, VS 2012 works pretty fast for me (I'm on a fairly beefy machine though).
How many projects do you consider to be a 'great number'? I ask because I do development in VS with solutions that contain around 300 projects and don't experience anything close to what I would consider 'really sludgy'.
Cool. I see in another response to your post that someone mentions minute load times just to load up the solution file, something which I thankfully have not experienced just yet.
Makes me wonder what's accounting for the varied performance? Probably some combination of project size, plugins, and machine specs, I reckon. If one mans (persons) 10 projects contain 100x the code that my 50 projects contain it would certainly make sense to have longer load times.
I got bit by being really productive in VC6 like 10 years ago. Had a script to clone a template dsw/dsp file, which make a new one, so I have about 400 projects like that, for little experiments, little projects.
Upgrading each of these projects to the 2010/2012/2013 IDE requires about 5 minutes of manual steps - per project!
I still keep a VC6 on my machine (even though it barely works on Win7) because of all that.
What got me stuck on VC6: I benchmarked OutputDebugString in the 2002/2003 versions, and noticed that they were ~10x slower.
VC6 was notable for simply discarding OutputDebugString output when things got busy. This was a problem I used to suffer from quite regularly, and it caused me a lot of bother.
I have no idea just how they managed to utterly fuck up the performance in VS2002 and later, but it does at least capture every last char of output, if you have the patience to wait for it.
(Perhaps on modern multi-core multi-GHz CPUs the VC6 approach is reliable enough, assuming it's some timing issue. But I have to say that I do prefer the VS2002+ tradeoff. Wish somebody would just fix the whole sorry mess though.)
VS6 was a massive downgrade on VS5, in that the help system was no longer treated as a dockable window within VS. I relied on the documentation at that point, but when VS6 came along it was no longer something I could easily have in front of me, with my code, with the VS window full screen. </nostalgic rant>
The initial load is slow. VS is a huge system with a lot of plugins. But I think it's still quite fast. I generally do VS on the fastest computer I own, which sucks, but oh well... it's still more usable and faster compare to Eclipse.
Everything's been downhill since VS6. I'm only joking, but seriously, does anyone remember how lightning fast VS6 was? That was over 15 years ago with much slower computers. I guess application 'snappiness' has not been a priority for the Visual Studio decision makers.
I've used VS since the late 90s (writing node.js in ST2 now) and honestly appreciate the hard work and cool features that goes into it. The new VS2013 feature that shows how often a function is referenced is useful. I don't get that in ST2 and probably never will. But I've used VS enough that I've become philosophically opposed to it and other similar IDEs. The core of the problem for me was that all the fancy wizards and project templates are not maintainable for MS. There were a number of times I was using some new project type introduced in a version of VS only to find the template was incompatible in the next version (e.g. reporting in 2005). This inevitably lead to a lot of unexpected work when my team would upgrade. Many of the productivity wizards impose hidden debt on their users.
Another major gripe was that VS would get really sludgy for solutions with a great number of projects/files. Take note that whenever you see MS demo a hot new feature, it's always with a very simple solution. Also, VS would block for me a lot, but that was probably due using too many plugins. I'd find that an application freeze of even 2 seconds would distract me. Not an issue I face now with a text editor + repl.
</rant>