Presentation is loading. Please wait.

Presentation is loading. Please wait.

Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages

Similar presentations


Presentation on theme: "Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages"— Presentation transcript:

1 Gurinder CTO

2 Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages http://blogs.msdn.com/lisa

3 A Lap Around VS 2010 Session Objectives Discover what’s available See how to take advantage of new features Agenda New Editor & Shell C# & VB IDE C# & VB Language VS 2010 &.NET 4 Highlights

4 New Editor & Shell WPF User Interface New Look Start Page View directory, Remove or pin projects, Customize Editor Zoom, Tear off windows, Tab wells, Block selection Outlining, Collapse from bottom, Hide selection Extensibility VS Gallery, Extension Manager

5 New Editor & Shell

6 “There’s an extension for that!”

7 Code-Focused C# & VB IDE Understanding Highlight References Type Colorization Call Hierarchy Navigating Navigate To: Files & Members, Ctrl+, Writing & Testing IntelliSense: Non-aggressive, Substring, PascalCase Generate From Usage: Type, Method, Property

8 Code-Focused C# & VB IDE

9 C# Language Syntax Enhancements & Office Development Named & Optional Parameters Omit Ref on COM calls Indexed Properties Co/contravariance Office Deployment: No PIA Dynamic Language Interop on the DLR

10 C# Language

11 VB Language Syntax Enhancements Multiline Statement Lambdas Auto-implemented Properties Collection Initializers Array Literals Implicit Line Continuation Co/contravariance Office Deployment: No PIA Dynamic Language Interop on the DLR

12 VB Language

13 Dynamic Versus Static Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent toolsBetter scaling

14 Open Source versus Commercial

15 Python Binder Ruby Binder COM Binder JavaScript Binder Object Binder Dynamic Languages On.NET Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching IronPython IronRuby C# VB.NET Others…

16 ScriptObject calc = GetCalculator(); object res = calc.Invoke("Add", 10, 20); int sum = Convert.ToInt32(res); ScriptObject calc = GetCalculator(); object res = calc.Invoke("Add", 10, 20); int sum = Convert.ToInt32(res); Dim calc As ScriptObject = GetCalculator() Dim res As Object = calc.Invoke("Add", 10, 20) Dim sum As Integer = Convert.ToInt32(res) Dim calc As ScriptObject = GetCalculator() Dim res As Object = calc.Invoke("Add", 10, 20) Dim sum As Integer = Convert.ToInt32(res) VB 10, C# 4.0 And Dynamic Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); object calc = GetCalculator(); Type calcType = calc.GetType(); object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 }); int sum = Convert.ToInt32(res); object calc = GetCalculator(); Type calcType = calc.GetType(); object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 }); int sum = Convert.ToInt32(res); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); Dynamic method invocation Dynamic conversion Dim calc As Calculator = GetCalculator() Dim sum As Integer = calc.Add(10, 20) Dim calc As Calculator = GetCalculator() Dim sum As Integer = calc.Add(10, 20) Dim calc As Object = GetCalculator() Dim sum As Integer = calc.Add(10, 20) Dim calc As Object = GetCalculator() Dim sum As Integer = calc.Add(10, 20) Dim calc As Object = GetCalculator() Dim sum As Integer = calc.Add(10, 20) Dim calc As Object = GetCalculator() Dim sum As Integer = calc.Add(10, 20) Visual C# Visual Basic Static binding Dynamic binding (pre-VS 2010) Dynamic binding (pre-VS 2010) Binding to ScriptObjects (JavaScript) Statically typed to be dynamic Dynamic method invocation Dynamic conversion

17 VB & C# 2010 Language FeatureVBC# Auto-implemented Properties Collection Initializers Array Literals Statement Lambdas Implicit Line ContinuationN/A Named/Optional Parameters Latebinding support (dynamic) Omit ref on COM calls Indexed Properties Interop with Dynamic Languages Co/contravariance PIA deployment not needed New in VS 2010 Already exists in VS 2008

18 VB & C# 2010 IDE Feature VBC# Generate From Usage: Generate Method Type colorization Background Squiggles: Top Level Analysis IntelliSense: Builder UI IntelliSense: Prefix Filtering Completion List Generate From Usage: Generate Type, Constructor, Property, Field IntelliSense: Consume First Mode IntelliSense: Substring & Camel-Case Match Navigate To Highlight References Call Hierarchy New in VS 2010 Already exists in VS 2008

19 VS 2010 /.NET 4 Highlights DGML Graphs WPF Drag & Drop IntelliTrace Parallel Extensions New Editor & Shell

20 Summary What We’ve Seen New Editor & Shell C# & VB IDE C# & VB Language VS 2010 &.NET 4 Highlights Call to Action Download Beta2 Use the resources and try it out Tell us your feedback

21 C# Resources Visual Studio 2010 Beta 2 http://go.microsoft.com/fwlink/?LinkID=151797 C# Developer Center http://csharp.net C# 2010 Resources http://msdn.microsoft.com/en-us/vcsharp/dd819407.aspx C# Forums http://social.msdn.microsoft.com/Forums/en- US/category/visualcsharp http://social.msdn.microsoft.com/Forums/en- US/category/visualcsharp Bugs & Suggestions https://connect.microsoft.com/VisualStudio

22 VB Resources Visual Studio 2010 Beta 2 http://go.microsoft.com/fwlink/?LinkID=151797 VB Developer Center http://msdn.com/vbasic VB 2010 Resources http://msdn.microsoft.com/en-us/vbasic/dd819153.aspx VB Forums http://social.msdn.microsoft.com/Forums/en- US/category/visualbasic http://social.msdn.microsoft.com/Forums/en- US/category/visualbasic Bugs & Suggestions https://connect.microsoft.com/VisualStudio

23

24 VB 2010 Resources

25

26 http://blogs.msdn.com/lisa Lisa.Feigenbaum@microsoft.com

27 Gurinder CTO 00 % Lorem ipsum dolor sit amet, consectetur adipiscing elit. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages"

Similar presentations


Ads by Google