Hacker News new | past | comments | ask | show | jobs | submit login
Visual Studio 2010 released (microsoft.com)
146 points by dragonquest on April 12, 2010 | hide | past | favorite | 119 comments



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 greatly prefer C# over Java. Luckily, JetBrain's Resharper makes VS almost as awesome as IDEA.


Is it slower than any of the other enterprise grade IDEs (eclipse or intellij)?

I haven't used the later in ~12 months but I don't remember them being particularly speedy in comparison.

The only things I truly find insufferably slow in VS are the visual designers which do code-gen "on the fly".


I am always annoyed when someone says "enterprise grade". What is an enterprise-grade IDE?


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).


integrated tools to support full software development life-cycle: things like version control, test runners, parameterizable builds, etc.

plus the option for commercial support.


What IDE/texteditor does not have that? (Or can have it via a plugin?)


Well... Notepad, for instance, is very limited.


I would not call Notepad a texteditor. It's nothing else than a textbox.


I haven't used Eclipse much, but when I did it felt pretty similar to Visual Studio.


Eclipse 3.4 is notable slower than VS2010 on my computer.


I can't bear to use MonoDevelop because of the forest of unpleasant non-native UI in your face at all times.

I'm an ungrateful sod, I know..


Unfortunately it uses GTK. If you're on Windows try SharpDevelop.


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.

Everybody has priorities.


> 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.)

In what ways does the VS "bloat" matter?


> In what ways does the VS "bloat" matter?

Basically, it will not run on a small netbook. Not at acceptable speeds.

http://news.ycombinator.com/item?id=1260761


A lot of netbooks allow 2-3gb ram. Is that enough?


It reduces memory time. Mine has 1.5 gigs. Never (well, almost never) touches swap. Disk is a bit slow, probably because low-rpm.

And it still runs Django faster than my company-issued 4 gig Windows Core 2 Duo laptop.


Oops... "battery time". More momory reduces battery time.


A 200kg fat man can drive a bus just fine ;)

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).


As a side note, you could run Emacs in daemon mode and connect to it with the client. See http://emacs-fu.blogspot.com/2009/02/emacs-daemon.html for more details. This way you only have to pay the startup cost once.


Emacs runs comfortably on my netbook. I seriously doubt Visual Studio 2005 would be able to do it.


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?


I even start 2-3 copies of the IDE sometimes when doing work on several projects.

EDIT: wanted to ADD and didn't notice I was replying to myself


You can always delete a post.


It's fast enough in my 2.24Ghz Dual Core for Windows development.

For Asp.net, my sister went on a small project and I don't understand why the hell it does take lot of time to process pages.


"A powerful IDE that ensures quality code", they say. Now that would be worth paying money for. If it were possible. Which it isn't.


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.

http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx


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.


There is a free version of Nitriq available (www.nitriq.com), you can kind of think of it as FXCop on crack

disclaimer - I wrote Nitriq


I'm not disagreeing, but Pex looks pretty cool too.


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.


What you want is Visual Studio Express. Or more precisely Visual C# 2010 Express. http://www.microsoft.com/express/downloads/


Or Monodevelop, or SharpDevelop.

Or just your favourite text editor coupled to the build system that comes with the .NET framework.

You could even write an Emacs mode for this.


> It just seems odd that I have to pay someone so that I can write stuff for their OS.

Unless you develop on something non-Windows, you are already paying Microsoft in order write stuff for their OS.

And that's their evil plan. It's sheer elegance in its simplicity ;-)


Can anyone describe how the Visual Studio 2010 IDE compares to 2008 IDE performance-wise?


Well, from the past few months of use:

* C# (and possibly others) compile faster * Startup slower than VS 9 (marginal) * Human perf is higher due to better auto-complete etc

Bottomline, if you're happy with VS 9 on your machine (you don't find it too slow), VS 10 is going to be similar.


I find it to be about the same in RC in terms of speed for most things. But memory use is lower and the delays when loading things seem to be shorter.


VS 2010 is slower than VS 2008.

That said, with a $900 machine, ( quad i5, 4 gig ram ) with a last gen video card the most recent RC runs just as fast as VS 2008 did.


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.


Hardware acceleration is the Microsoft crutch for shitty perf :)

Not that I'm bitter, stuck in VS2008 all day on a circa 2003 machine, stingy ass employers.

They can afford to pay 100k+ for engineers, but not to give them decent machines..


A fast disk is a worthwhile investment. My builds have gotten about 30-40% faster after switching to an SSD.

That said, I was surprised that it wasn't a bigger bump. Turns out builds are more CPU-bound that I thought.


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.

Besides that though, they seem pretty similar.

Looking forward to using IntelliTrace.


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.


Did they fix the bug that forces you to restart your app if you edit a function that has an anonymous/lambda/linq statement?

This has been by far and away my #1 complaint for over three years (http://blog.adamsmith.cc/2007/03/complaints-about-visual-stu...). It is a huge deterrent from taking advantage of most of C#'s beauties.


ultimate version available for a completely reasonable $12 000! http://www.microsoft.com/visualstudio/en-us/products/2010-ed...


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.


>The cost of one copy is MORE than a MSDN subscription.

That's because it includes an MSDN sub. Still astronomical, I know.


iirc the Ultimate version doesn't come with the professional MSDN subscription.


Do you know if that price is there just for the anchoring effects (like the article discussed on hn last week)? Or do people actually pay $12k for vs?


That's MSRP -- No one actually pays that.... at least I hope not...

However, Ultimate also includes a full MSDN license.


Ultimate also includes a full MSDN license

So does the professional version at $1,199


Not the same MSDN subscription - no development licenses for Office, many server products, etc. See e.g. http://msdn.microsoft.com/en-us/subscriptions/subscriptionsc...

But yes, still insane.


Whoa. Then never mind. I take it back: that price is absolutely ridiculous.


I paid $400 to do a university paper this semester, great timing, signed up for DreamSpark and got VS2010 Professional for free ;)


C++0x! Time to use auto, move constructors, and shared_ptr!

http://blogs.msdn.com/vcblog/archive/2010/04/06/c-0x-core-la...

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++.



found some concrete info from Scott Guthrie's twitter feed (he's the VP of the MS Developer Division).

-------------------------------

MSDN Subscribers & WebsiteSpark/BizSpark members can download VS 2010 Monday morning.

The final release of VS 2010 & .NET 4 will be available ~10am PST.

Free VS 2010 Express Editions + VS 2010 Trial editions will also be available for download.

-------------------------------

http://twitter.com/scottgu


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.


Supports .NET projects ;)

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.


Up voted, cause its news to me. I would like a review of .NET 4.0 or an overview of new features in VS 2010 sometime.


F# is a first class language alongside C# and VB.

Major new threading framework which let's you write things like:

  Parallel.For(0, 100, delegate(int i)
  {
    doWork(i);
  }
  );
and to parallelize your LINQ queries with the AsParallel() method:

  data.AsParallel().Sum();  //does exactly what you think

That's just the stuff which I'm most excited about. See http://msdn.microsoft.com/en-us/library/ms171868(VS.100).asp... for a more comprehensive list.


>//does exactly what you think

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?


Is all the data you ever operate on stored in the database? Do you never load things into memory?


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.


Also today, F# 2.0 has shipped for 3.5/VS2008 as well. So you don't need to use .NET 4 and 2010 to get it.


To get you by: dynamic (runtime) types, optional parameters, named parameters, Covariant and contravariant generic type parameters.


I would like a review of .NET 4.0 or an overview of new features in VS 2010 sometime.

This is far to large a topic for a HN comment. Here is a link to some links to get you started: http://hnsl.mn/cNpxVs


One of the things I'm looking forward to is the managed wrapper for memory mapped files.


Is it safe to assume they haven't updated their C support from the 21 year old standard to the 11 year old standard?



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.


Hmmm, express editions are not yet updated.


Express editions are available now. Follow the link from the MSDN homepage


and I haven't had any luck finding the release version (not RC) of .net 4 runtime.


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.


My condolences.

I see SharePoint on a job posting and it goes into the trash immediately...


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?


IronRuby just shipped 1.0 as of today, no VS integration though (yet...)


I know named and optional parameters are in there for C#.


Do you need to get a whole IDE just for a compiler that supports a given runtime feature?


Nope. MSBUILD and all the new compilers ship with the Windows 7.1 SDK:

http://blogs.msdn.com/windowssdk/archive/2010/04/07/coming-s...


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.


Probably doesn't support fancy stuff like that just yet, but I've found SharpDevelop ( http://www.icsharpcode.net/OpenSource/SD/ ) quite nice.


C# is compiled using msbuild which is distributed with the .NET framework. So you don't need any VS at all to compile .csproj


Does anybody know when this will be available for download in MSDN subscriptions?


10AM Pacific


What's the cheap legal way to get it?

Empower is going away May 21st; Any other options?



bizspark, if you're not a student. Say you've got a startup and you get a free MSDN subscription for three years, then pay $100. Its a great deal


... contact me if you're interested in BizSpark.


Is it available at MSDN subscription downloads yet?


A powerful IDE that ensures quality code

Isn't that awesome?


This sites switches to a mobile version when I browse there on my iPad. Maybe they haven't noticed the iPad release?


believe or not, but the iPad isn't exactly the center of the universe. Especially not for Microsoft.


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.

Especially when your screen is 9.7".


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?


Wouldn't it have been better that, instead of just reading you could copy/paste a piece of code and run it to see what it does?


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".

In which case, the answer is no.


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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: