Click here to Skip to main content
Click here to Skip to main content

A Developer's First Look at Visual Studio 2010

By , 19 Sep 2009
 

Introduction

Most of my friends call me a Microsoft Evangelist. Being an expert in .NET technology, I hope that it makes me proud. My first program was in GW BASIC. I then moved to ASP and then to .NET. When I first looked at Visual Studio 6; I was thrilled (because I was writing ASP code in Notepad then).

Well, it's a long way from VS6 to VS2010. Let's discuss what I feel.

UI (Look and Feel)

My system runs happily on Windows 7 with a 3 GB RAM. A month ago, I installed VS 2010 beta and I started working with it. Believe me or not, I thought PC users will think that developers don't deserve a great UI like this.

  1. A new aero look with all the stone age XP styles removed. The UI was neat and looked spacey.
  2. True Type Fonts on the editor makes it more readable.
  3. Keep in mind that the editor itself is developed in WPF.
  4. Zoom is available which will be helpful while you design applications so that you are not missing minute details.

New Editor Features

  1. The best part of VS2010 is call hierarchy. Select a method call and click "Call Hierarchy". Woo! That gave me the whole program flow in a tree view. It's the best part of VS2010.

  2. The other feature which interested me is highlighting. Selecting a variable or any symbol will highlight all its references. This was something I was missing since VS6. Though I can't tell you any specific advantages, it makes a programmer's life easy while coding.
  3. Search was innovative, it searches for all the symbols like an object browser and allows multiple search.
  4. "Generate From Usage" is a very well thought feature. If you need to understand this, I will have to explain it better. If I am coding on class "X" and I am creating an instance of class "Y" and want to call a method "Save" which is not yet defined in class "Y"; Visual Studio will give me a compiler error (on the editor) saying it is undefined. Now clicking over the code will give me an option to define / write the method "Save" of class "Y" without even moving to the class Y. I am not done yet; the best part is that it gives a stub to work and so a developer will be merely filling the symbol name and code. This is applicable for methods, variables and even classes and interfaces.

  5. Intellisense for JavaScript is way better than ever. But bringing the whole support to the JS file is still a dream. Microsoft should find some way where you can set some properties for the JS file at design time to look at the pages it will be referred when we type the code. Let me explain this; if you type document.getElementById('label1') inside page1.aspx, it recognizes and shows the methods and attributes related to the element in intellisense. However if you are writing the whole script inside a file say, Scripts.js, it won't be able to identify since VS does not know which page you are referring to.

Applications

  1. WPF has got the most attention in the whole VS2010. Now you can drag and drop datasources for the WPF controls which include custom data models, objects and any WCF / XML services. I'm not sure how many developers will be really using this as I normally prefer writing the code instead of using a drag and drop. The WPF editor also looks pretty fast now.
  2. Entity Designer is something that is very handy for hardcore programmers like me and for application designers / architects. This allows us to create the entity relation model first and then create a database from this. I was stunned by this tool. I remember how much time I used to spend on reverse engineering at times.
  3. Database projects have got a face lift on the new features where it allows me to create projects which is very similar to creating any other applications in VS. Some may argue that it was there since VS2005 but you have to explore to find how Microsoft has eased the programmer's life. However, I must admit that database projects still have plenty of room for improvement before it gets robust as other applications in VS.
  4. Parallel programming is a ground breaking feature that got implemented with VS2010. Instead of using the conventional types, there are thread safe types which can be used for parallel programming. I would say that is a good thought since every time I try thread based programming, I get stuck with some invalid thread access exceptions. To be honest, I haven't explored much in this area and will update this on my next posting.
  5. Silverlight class library is a new project type which is a boon for any Silverlight developers. This will help the developers to write effective coding specifically for silverlight applications. This is a reasonable advancement from the conventional pattern where someone writes a library and then configures a WCF or any service to contact with silverlight applications.

Languages

VB.NET

  1. Hurray! I have got automatic properties for VB.NET which were available only for C#.NET. I had a small self written application which generates the code for the properties and the variables for it. Since automatic properties is out, I can safely ditch my property generator application. And yes, I code in VB and not C#.
  2. Collection initializers are now in action which was missing in the previous version. Overall initializers is a breakthrough in .NET.
  3. Lambda expression is another great feature introduced. I used to do similar coding in JavaScript before and now I am thrilled to have the same in VB.NET. It's nothing but just passing / assigning a whole expression / method to a symbol. I loved this and it really appeared to me as a cool way to program.
    Dim sum = Function(x, y)
    Return x + y
    End Function
    
    Console.WriteLine(sum(1,2))

    This looked to me as a little hint of F# in VB.NET.

  4. It is also said that VB.NET now supports Ruby and Python but I am not sure about the implementation and it's still on my "Try list".
  5. Embedded Types seems to resolve the headache which I had for long time. Every time I make a change in a strongly typed class library, I have to recompile all the libraries which are dependent on it and release it to GAC. Now with embedded types, one can write code which will be version independent. You can find more information on the same here. If you don't use strongly typed libraries in your application, then this is not for you.

C#.NET

  1. As for every release, C# has got a new feature called "dynamic". This keyword will inform the compiler that the type is dynamic and will be binded during runtime. This feature is not yet available for VB.NET. Perhaps, this will commence in the next version as it happens every time.
  2. Lambda Expressions and Collection initializers are already supported in C#.
  3. Embedded Types are also available for C#.

F#

This is a hot new chick out there in VS2010. Now what is F#? Microsoft says, functions can be treated as values. Damn! isn't that cool. Honestly I haven't tried much coding on this but, to the extent I have, I realize that you can do miracles with this.

  1. Of all the features that are introduced in F#, Delayed Computation is really cool. The result will not be calculated until it is needed. I can now write an effective Object Relation model framework with lazy load on child entities without writing any extra code.
  2. With most of the features (parallel programming, asynchronous, Generics, Collections) the conventional .NET languages have, F# stands as a very effective language for complex applications.

However, one should wait to see how it takes over in the market.

Conclusion

That's all I could find out in the few days I dated with VS2010. I am sure there is a lot better out there. For those who are in a dilemma on whether to upgrade to .NET 4.0, don't think again; just do it.

History

  • 20th September, 2009: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

jebarson
Software Developer (Senior) Microsoft Corporation
India India
Member
I work for Microsoft on MS technologies for application development. My interests include .net, WCF, Azure, Windows Phone, ASP.net, SL, WCF, WPF and many more.
 
You can visit my site at http://www.jebarson.info
 
Follow me on twitter @jebarson007

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralVS2010 seriesmemberHimaBindu Vejella28 Jan '10 - 0:12 
Adding to your points
Quick glance of VS2010 series written by me
http://dotnetslackers.com/community/members/himanet.aspx[^]
 
Iblog
"If you can dream IT, you can become IT"

Generalmore depthmemberDonsw31 Oct '09 - 7:59 
ok but spend more into each area there are a lot of new items in 2010 so either list them or just over over a couple of items but in more depth.
 
cheers,
Donsw
My Recent Article : CDC - Change Data Capture

GeneralNice ArticlememberThanigainathan.S24 Sep '09 - 3:20 
Hi Sir,
 
Your article is knocking really !
 
Interesting to read . You can also explore the more architectural fetaures covered with VS 2010.
 
What about enhancements at service level ? throw us some light on them .
 
Thanks,
Thani
 
India is Mythical and so we are

GeneralMy vote of 2memberCKR_121 Sep '09 - 15:55 
Limited information, quite a few errors (e.g. lambda expression are in VB9, it's multi-line and statement lambdas that are new; C# dynamic feature is supported in VB; etc.), lack of context around value of new features.
GeneralMy vote of 2memberMR_SAM_PIPER21 Sep '09 - 14:13 
No insight here at all - glosses over most features completely.
GeneralMy vote of 1memberMember 324504221 Sep '09 - 5:19 
"Delayed Computation is really cool. The result will not be calculated until it is needed." Uh, I already been doing this for years in existing languages, not needing extra features.
GeneralMy vote of 1memberMember 210279421 Sep '09 - 5:11 
nothing new
Generalits good....but sloooooooowmemberDruuler21 Sep '09 - 1:53 
VS 2010 got to be the slowest app on the planet, it like 20x times slower then vs 2008...which isnt the fastest app either Sigh | :sigh:
GeneralRe: its good....but sloooooooowmemberAdrian Cole21 Sep '09 - 9:41 
I agree ... it is practically unusable.
 
while (e) { Coyote(); }

GeneralRe: its good....but sloooooooowmemberjebarson21 Sep '09 - 23:31 
I won't agree much with this. If you have a better graphics card with better config, there should be no problem. After all a developer's machine should never stand out of market.
 
Is there is anything you cant do?

GeneralRe: its good....but sloooooooowmemberAdrian Cole22 Sep '09 - 7:55 
I've got a 3GHz Intel Dual core with 2GB of RAM running XP SP3. The 2005 and 2008 versions manage just fine. 2010 is WAAAAAAYYYYYY slower. If you are willing to buy me a better setup, I'd be happy to do some further testing. Smile | :)
 
while (e) { Coyote(); }

GeneralRe: its good....but sloooooooowmvpPaul Conrad13 Oct '09 - 5:42 
Adrian Cole wrote:
If you are willing to buy me a better setup, I'd be happy to do some further testing

 
I'll second that Laugh | :laugh:
 
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
 
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
 
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham


GeneralRe: its good....but sloooooooow [modified]memberDruuler23 Sep '09 - 3:57 
jebarson wrote:
I won't agree much with this. If you have a better graphics card with better config, there should be no problem. After all a developer's machine should never stand out of market.

 
I really hoped MS would fix the performance problems of VS 2008, but instead they made it much (really much) worse!
 
if my machine is able to run crysis on full settings with 1920 x 1080 resoultion then VS 2010 shouldnt be a problem at all...[EDIT]but it is[EDIT.
2x HD4890 in Crossfire and AMD Phenom x4 940 overclocked to +3800 ghz should easly handle any App.....
 
modified on Wednesday, September 23, 2009 1:04 PM

GeneralRe: its good....but sloooooooowmemberSudhir Mangla21 Sep '09 - 22:15 
Yes it is slowest ever version of Visual studio. A new vista in making
 
Sudhir Mangla

http://tips.DevelopersVoice.com
(Technical Tips and Tricks)
http://Programmerworld.net
(Free books and source code)
http://Faq.Programmerworld.net
(FAQ and Tips for programmers)

http://health.Programmerworld.net
(Health tips)


GeneralRe: its good....but sloooooooowmemberrobertw01922 Sep '09 - 17:14 
Thats what happens when you use a beta version of Visual Studio, especially a Beta 1. Release versions aren't much faster, but they are faster.
 

GeneralRe: its good....but sloooooooowmemberjebarson25 Sep '09 - 8:16 
For all those who complain about the VS being slow, please try with a good display card. Microsoft has made it clear that we should stop trusting the onboard graphics card. Also as everybody know, this is a beta and defenitely this will prove much better when it is available on retail.
 
Also I am running Windows 7 and yes it is slower than VS 2008 but not annoying slow.
 
Is there is anything you cant do?

GeneralRe: its good....but sloooooooowmemberjeffb4227 Sep '09 - 20:07 
I haven't tried the VS2010 beta yet so I can't comment about the performance, but with regards to the comment:
 
"please try with a good display card"
 
I, as well as many developers that I know, code on laptops, either as our primary dev machine or as our aux machine away from the office, and laptops often don't have beefy graphics cards.
 
This got me to thinking... why should an IDE require a high-end graphics card anyway? Most of what is displayed are toolbars and text editor windows, neither of which should require a high-end graphics card. I've heard a rumor that the text editor in VS2010 is completely new and is built using WPF, which seems to me akin to using MS Word for a text editor (in the sense that's it seems overkill and not the right tool for the job).
 
Now, none of this is your fault and I'm not blaming you, just commenting on the issue.
 
-Jeff
GeneralRe: its good....but sloooooooowmemberjebarson28 Sep '09 - 0:43 
Ok, so I found this issue might be related to the problem of msiexec which might be occuring after SL server 2008 installation. Please checkec the below link
 
http://microsoftlovers.blogspot.com/2009/09/windows-7-rc-slow-after-visual-studion.html[^]
 

I accept with Jeff that most of the developers today use a laptop for coding and yes VS 2010 is built using WPF and thats what makes it special. One might argue that a developer's IDE doesn't need to be flashy which I too agree. Hope Microsoft hears the cry and optmizes the IDE.
 
Also Jeff developers should have a laptop which has a competive graphics card and config Smile | :) though mine is not Wink | ;)
 
Is there is anything you cant do?

GeneralcoolmemberAnandChavali20 Sep '09 - 8:52 
Nice insight..
 
Though I haven't seen VS 2010 yet...
 
Generate from Usage is also there in VS2008. It also generates the stub with "throw new NotImplementedException()".
 
Thanks and Regards,
Anand.

GeneralRe: coolmemberjebarson21 Sep '09 - 23:39 
I agree thats my mistake.
 
Is there is anything you cant do?

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130516.1 | Last Updated 20 Sep 2009
Article Copyright 2009 by jebarson
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid