Having used Visual Studio for 10 years and even written a book on it I can say I am totally tired of this huge and bloated IDE and can't wait until I am done with .NET work or MonoDevelop is good enough to switch. (it's getting close)
As an ex developer on VS2010, I have to give my biased opinion that they actually took the thing in the right general direction and I actually rather enjoy using 2010 a good deal more than 2008.
I honestly don't find it to be that bloated either. it loads up very quickly, and it only loads things as they are needed. If you never once use the Entity Framework for example, nothing related to it will ever load. This is different from 2008 which eager loaded most stuff.
There was a huge push to get 2010 up to performance snuff towards the end of development, and I think they mostly succeeded.
The new support for MEF for extending things is dramatically better than VSIP, which was a nightmare no matter how you sliced it. MEF is actually quite pleasant.
I'm an ex MS employee, and so feel no need to promote it blindly. I do think, overall, it's the best VS yet. Take it for what you will.
I have been an SDET on VS2010. The real problem with VS in the past few years as it has move away from native. Everything is managed managed managed! We have left internal (Office) and external (lots and lots of folks) customers in the dust by only building decent managed tools. That's my opinion.
What I really wanted to address was performance. There was indeed a huge push after Beta2 to improve perf. At the end of the day 2010 is still slower than 2008 and eats up more memory. I guess that's an accomplishment if sucking less is considered good. But will people upgrade? I don't know. Hopefully because that's good for me. But I am pessimistic and currently looking for other employment as the experience was that bad.
Why was it so bad? Well I feel most of the pain points could have been avoided. Management ignored a lot of the performance/memory issues last summer and had an attitude of ship ship ship with NO regard for quality. I was responsible for reporting an overall grade for the areas I tested. I reported them to be poor and fair. I also listed all the known bugs in those areas. Management boosted the rating to good on the basis that memory and performance bugs don't count.
Let me reemphasize that last point: I was told memory and performance bugs DID NOT count towards the overall quality rating of the product. This was management's attitude through most of the product cycle. We could never give an honest assessment of the product because they would challenge it and argue that it wasn't that bad.
I believe their reason was simple for doing this. They need to take the data to their managers and up the chain of command to paint a pretty picture of how great the product is. Even if that's an illusion. Basically telling the truth of product quality is punished. If I lied about quality managers would be ecstatic about how a great a job we did. If I told the truth about quality instead of thanking me for figuring out where customer pain points might be the attitude was ALWAYS this should have been found earlier. The problem is many times I did find it earlier and they did their best to bury it before the next meeting they were heading off too report product quality.
I will say this. IntelliSense is much better for C++. Even though other native tools might suck. IntelliSense teams seems to be doing a pretty good job. It has always has been my favorite VS feature.
It's interesting you report such disdain with the product. I will admit I was a SQL employee working on a component that was shipping in VS2010 (there's a handful of teams that did this, Entity Framework being one of them, although I wasn't actually on the EF team, they are a pretty visible example). My team really grew to dislike DevDiv and their practices quite a bit in a lot of regards (however, in other areas I enjoyed DevDiv a lot). To be totally blunt, SQL has their shit together a lot better than DevDiv does. And to be perfectly blunt again, it was the thought of doing this all over again for Dev11 that was a major motivator in me wanting to leave MS.
And is 2010 worth the upgrade for most people? Hard to say. There's nothing in it that is truly mind blowing or "must have", it just iterates and improves a ton of stuff. I don't think .NET 4 alone is a compelling enough reason, most will remain happy with 2/3/3.5 for the time being.
With all that said, I still stand behind VS2010. I think it still came together well. I really do hope I get to use it as my day to day environment, I like it that much more than 2008. I'm actually impressed how well it emerged out of the chaos that is DevDiv :)
And yes, MS has dropped the ball on native dev quite a bit. It's definitely an afterthought. But most people who are looking to get 2010 are very much in the managed camp.
I'll admit some of the disdain is related to the process with no consideration for the the actual product itself. The taste in my mouth after Dev10 makes me unhappy and my desire to leave MS seems to align with yours: "all over again for Dev11." Good luck in your future endeavorer.
Yeah and good luck to you too. I can sure relate to your position. Although I'm sure the two of us were on totally different sides of a very large mountain :)
> Everything is managed managed managed! We have left internal (Office) and external (lots and lots of folks) customers in the dust by only building decent managed tools. That's my opinion.
Good! Well, good for internal I mean. If managed/WPF/etc are the future of Windows, then MS needs to start eating their own dog food and using those techs for their apps. It drives me utterly nuts to think of all the neat tools that show up in Windows that other MS divisions flat out ignore.
DevDiv makes about $1 billion for MS. Office on the other hand makes about $18 billion. So in terms of politics Office gets to decide what tools they use for the most part. Office sees it as a risk in terms of profit and hitting ship dates on time to switch to the latest stuff DevDiv is spitting out.
Rumor has it WPF is going the way of Windows Forms. It will be supported but no new features. With that in mind, think of all the UI frameworks MS has had wrapping up Win32: MFC, ATL/WTL, WinForms, WPF. Nothing seems to stick. Office just writes their own stuff that they KNOW they can depend on it being there. Duplication sure. But DevDiv is notorious for releasing things and deprecating the past "great" technology within a few years.
There is another reason they ignore the new tools: managed is slow for the client. For the server world managed is great and has won. Nobody in their right mind would write native web apps. They write the stuff that needs to be native (db, webserver) then glue the app together with python, ruby, C#, or Java (I know, a vast oversimplification of webapps).
Clients don't have the advantage of the webapps. We don't have a lot of computer to do things in parallel. Every millisecond counts to make the app appear as responsive as possible.
Why does managed suck for the client? JITing is slow and the code it generates isn't nearly as good as a compiler. NGENing is possible but still slow because of garbage collection and marshaling data between native and managed code. Little things like that add up and slow down responsiveness a lot on the UI side of things and that is what the user notices and complains about.
I don't know what IDE you use, but I use both Visual Studio and Eclipse. Eclipse is significantly slower, but it's still acceptable performance, and I like the python, hg, and remote plugins, so I find it very useful.
For C#, VS is absolutely wonderful, and I haven't seen an IDE for a statically typed language I like better.
I say this only partly tongue-in-cheek...an enterprise-grade IDE is one that you're probably not going to use unless the enterprise paid for it (that said, I'd readily shell out $250 on a JetBrains IDEA personal license if I went back to consulting - personal performance gains more than make up the cost).
Why can't you remove all unnecessary components from the IDE? For me VS 2008 with Resharper makes no problems at all on my 4GB Ram desktop with loads of other crap running in parallel.
Because "bloated" is still bloated, regardless of how much memory and processing speed you have at your disposal. It's much like a 200 Kg fat man driving a bus. He is still fat.
That said, I once thought Emacs was bloated. Now, it's quite nimble compared to other programming tools.
Stop anthropomorphising your computer. If your RAM, disk, and CPU let certain software perform as fast as necessary, any "bloat" you are asribing to things is purely psychological, philosophical, or due to something else like poor UI design. Traditionally, "bloat" means that there is too much memory-resident tools or features such that their cumulative effect, while negligable in separation, becomes daunting for your machine to handle, resulting in a sluggish user experience.
So, "bloat" is relative to your machine. What's "bloated" today is not going to be bloated 5-10 years from now, and vice versa. If this isn't what you're talking about, you're using the wrong word.
> If your RAM, disk, and CPU let certain software perform as fast as necessary, any "bloat" you are asribing to things is purely psychological, philosophical, or due to something else like poor UI design.
Actually, bloat is measurable. It's the difference between being able to use a tiny netbook for a whole day without bothering to recharge it (provided you have a big enough battery pack) and having to be tethered to a desk for the whole day.
Of course I would love to have 16 cores of pure performance, 32 gigs of RAM, a couple terabytes of wicked fast SSD storage. Unfortunately, I wouldn't be able to fold it up, throw it in my shoulder bag and leave the office in order to work from a charming cafe while I watch the sunset. At least not for the next five years or so.
> Because "bloated" is still bloated, regardless of how much memory and processing speed you have at your disposal. It's much like a 200 Kg fat man driving a bus. He is still fat.
While he's fat, it's not clear why it matters. (It matters to his health but not to the bus passengers.)
On Emacs ... you still have to pay attention to the loaded extensions, and if you've got dozens of them (especially the Jdee extension, with all the dependencies) it can be as bloated as a full IDE (and it shows in startup times).
I've ran VS 2008 on my almost-six-year-old laptop (P-M Banias 1.4 GHz, 1 GB DDR 333, 80 GB 5400 rpm) and I would not hesitate to call the experience "comfortable". What are the specs on your netbook -- is it really that much worse?
That's probably a reference to their new Code Contracts feature:
Code Contracts provide a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of pre-conditions, post-conditions, and object invariants. Contracts act as checked documentation of your external and internal APIs.
Jolly good, and I'm all in favour of better tool support for contracts, but that still can't "ensure quality code".
(If whoever thought my comment needed downvoting would like to explain why -- because it's too obvious? because it's wrong? because there's nothing at all wrong with a major software vendor making totally false and unreasonable claims in their promotional materials? -- then I am, seriously although not literally, all ears.)
I didn't vote you down but, their claim is true at a micro level: I ensure that you give me this, whereupon you can be sure I'll give you that (or exceptions will be thrown). Plus, it's maybe a waste of scoffing to scoff at marketing hype.
Poor Eiffel; its doom was to lead the way, and get picked apart by its children. Maybe if it hadn't looked like Pascal it might have done better. That said, I'm really surprised that design by contract hasn't been incorporated more widely, before now.
> Jolly good, and I'm all in favour of better tool support for contracts, but that still can't "ensure quality code".
It all depends on how you define "quality".
And your down-votes could be attributed to the topic of the thread. Anything that casts doubt over Microsoft's One True Way is not welcome in certain message threads.
I know that this might sound like an attack, but it's not. I'm just asking out of curiosity: If you want to code in Java, there are highly sophisticated IDEs you can download and code in for free (eg - eclipse). The same for Mac (Xcode).
When MS bought out .NET - was there any particular IDE or language development environment that was distributed for free to encourage (especially young) developers to code in it? Or did you always have to pay for Visual Studio?
I'm not slagging off MS. I'm actually genuinely interested in getting my hands dirty with some Visual C# now that Windows 7 is shaping up to be quite a nice OS to use. It just seems odd that I have to pay someone so that I can write stuff for their OS.
Very true. A lot of 2010 perf hit is because of WPF. Real hardware and a good video card is required. I never dreamed that a decent video card would be required for a text editor but it is.
For what it is worth, if your builds are more CPU-bound than you thought then either your solution is very small overall (which I somewhat doubt) or you have it broken up across too many projects. For a good nine years now almost all .net and vs.net -related build slowness has been due primarily to high project count. A bit of solution restructuring should do the trick nicely for you. Merge some projects and/or shift off some less-frequently-modified projects into separate solutions, cook up some official builds of them, and then bring them back in as binary dependencies.
Xaml parsing is WAY faster in VS2010. In VS2008 Xaml parsing would stall my machine for 30s on a regular basis. On VS2010 they seem to do the same file in a second or two. This is a huge difference. Project load is also about 2-3X faster.
The VS2010 UI may look similar to 2008, but it's quite different in implementation - the VS2010 UI is all in WPF. There are various benefits from this, but I don't think that speed will be among them.
If you work for a startup that is less than 3 years old, with less than $1 million in yearly revenue, you can get it for free via BizSpark (microsoft.com/bizspark)
I was blown away by this. I have used all versions of VS and always worked at places that provided it or were gold partners or in the MSDN subscriptions. The cost of one copy is MORE than a MSDN subscription. Seriously what is up with the pricing? This is waaaaay too much for an IDE these days. I could buy both Maya and 3dsmax cheaper than that.
In fact, I've read existing STL-heavy C++ (returning std::vector<std::string> by value from functions, for example) will sometimes double in performance when compiling with a C++0x-capable compiler.
I wish the new historical debugger worked for C++.
Wow. Coming from the Mac, I have never realized you had to pay, and possibly pay so very much, for dev tools on Windows. What kind of things does VS do that are exciting? I see they have a feature list a million miles long, but I can't get a sense of what VS does that eclipse or Xcode does not. Color me surprised.
Seriously though, VS and Eclipse compare quite similarly on features. There are also free Express editions of most MS tools which cover perhaps 80% of the features so the price isn't really an issue.
Bring the database to a grinding halt when it tries to service 1000s of request for different rows in the same table at the same time in parallel rather than just access each line in order and sum them?
plinq only parallelizes in-memory operations and delegates the interaction with the data-store to whatever adapter you're using.
the AsParallel() should make it clear that you're taking an existing data-set (retrieved in whatever manner you like) and signifying you'd like to execute parallel operations on it.
That question was asked in September 2008. One would hope some things could change by then.
Supporting c89 is supporting some of c99. As pointed out from some of the things you linked to, not fully supporting c99 means there are places where bugs are silently introduced (see snprintf) and, more importantly, my code that compiles under various c99 compilers doesn't compile under the stuff Microsoft ships.
I don't expect too many people on HN are doing SharePoint work, but if you are, you need to get VS 10 now. They've added templates for a variety of projects, and single-click compile/package/retract/deploy/debug of your project.
Looks cool. I'm a ruby dev on osx, but ill be installing the demo and playing around with this thing for sure. I really like the innovations in .net 4.0 for dynamic languages.
Anyone know the status of ironruby within this release?
Good question. Are you asking if you can target .NET 4.0 with VS 2008? I don't know, my experience has been that it's like swimming upstream to try to separate the IDE, .NET Framework version, and language version -- best to just get them all.
Are you asking if you can target .NET 4.0 with VS 2008?
Highly unlikely. However, VS2010 will give you a choice of Runtime versions from 4 downwards. VS2008 will give you a choice of Runtime versions from 3.5 downwards.
Agreed, but my comment wasn't really aimed at dissing MS specifically for not not showing the regular web page when using an iPad, but rather the bigger point that mobile web sites, in today's age of powerful mobile devices, are just out of place. This is amplified by the iPad's 9.7" screen, but is equally true on an iPhone, and would hope on a Windows Mobile device as well.
I disagree. If there were more/better mobile sites, you wouldn't have to use so many apps for things that are essentially website functionality. Plus they save money if you are not on an unlimited plan. I do hate when they scrape functionality, the way I can not add an attachment on a mobile version of gmail so I have to use the html one.
Maybe I didn't express myself clearly. Apologies.
What I mean is that mobile hardware (and mobile browsers) are getting better and better and so mobile websites are become passe. Decent mobile hardware & browsers can view full websites.
I know a guy who used to work on Microsoft's web site, and they were actually pretty determined about making it work on all the browsers they could. I don't think this is something they would just gloss over or forget about.
+1 for HN on iPad. Sometimes you're taking a break from working and just want to catch up on the news a bit. What better place to do so than relaxing on your couch?
Yes, it would. All other things being absolutely identical.
But I suspect what you are really saying is "wouldn't it be better if you had a completely different device by a different company running different software with a significantly less polished and pleasant experience every single time you use it for the very rare occasion that there's some code in a HN comment or linked article which is complete enough to copy and run, and also in a language which you have an environment and libraries for, and also which does something you are interested in and also which you are motivated enough to interrupt your reading to run".
I'm not sure I follow... What code? If, while relaxing and reading news, I come across something I absolutely must run (a pretty unlikely scenario) I can simply email paste it into an email to myself.