lisa feigenbaum microsoft program manager session code: dev314

25

Upload: melinda-bradford

Post on 05-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314
Page 2: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

A Lap Around Visual Basic in Microsoft Visual Studio 2010

Lisa FeigenbaumMicrosoft Program Managerhttp://blogs.msdn.com/lisa

Session Code: DEV314

Page 3: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Lap Around Visual Basic in VS 2010

Session ObjectivesDiscover what’s availableSee how to take advantage of new features

AgendaNew Editor & ShellVB IDEVB LanguageVS 2010 & .NET 4 Highlights

Page 4: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

New Editor & Shell

WPF User InterfaceNew Look, Rich Experience

Start PageRemove or pin projects, View directory, Customize

EditorZoom, Multi-Monitor, Block selection, Outlining

ExtensibilityVisual Studio Gallery, Extension Manager

Page 5: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

New Editor & ShellLisa FeigenbaumProgram ManagerMicrosoft

demo

Page 6: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

“There’s an extension for that!”video

Page 7: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Code-Focused VB IDE

UnderstandingHighlight ReferencesType Colorization

NavigatingNavigate To: Files & Members, Ctrl+,

Writing & TestingIntelliSense: Non-aggressive, Substring, PascalCaseGenerate From Usage: Type, Method, Property

Page 8: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Code-Focused VB IDELisa FeigenbaumProgram ManagerMicrosoft

demo

Page 9: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

VB LanguageSyntax Enhancements

Multiline Statement LambdasAuto-implemented PropertiesCollection InitializersArray LiteralsImplicit Line ContinuationCo/contravariance

Office Deployment: No PIADynamic Language Interop on the DLR

Page 10: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

VB LanguageLisa FeigenbaumProgram ManagerMicrosoft

demo

Page 11: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Dynamic Versus Static

DynamicLanguages

Simple and succinct

Implicitly typed

Meta-programming

No compilation

StaticLanguages

Robust

Performant

Intelligent tools

Better scaling

Page 12: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Open Source versus Commercial

Page 13: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

PythonBinder

RubyBinder

COMBinder

JavaScriptBinder

ObjectBinder

Dynamic Languages On .NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C# VB.NET Others…

Page 14: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

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)

VB 10, C# 4.0 And Dynamic

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

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

Binding to ScriptObjects (JavaScript)

Statically typed to be dynamic

Dynamic method invocation

Dynamic conversion

Page 15: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

VB & C# 2010 LanguageFeature VB C#

Auto-implemented Properties

Collection Initializers

Array Literals

Statement Lambdas

Implicit Line Continuation N/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 2010Already exists in VS 2008

Page 16: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

VB & C# 2010 IDEFeature VB C#

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, FieldIntelliSense: Consume First Mode

IntelliSense: Substring & Camel-Case Match

Navigate To

Highlight References

Call Hierarchy

New in VS 2010Already exists in VS 2008

Page 17: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

VS 2010 / .NET 4 Highlights

DGML GraphsWPF Drag & Drop IntelliTraceParallel ExtensionsNew Editor & Shell

Page 18: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Summary

What We’ve SeenNew Editor & ShellVB IDEVB LanguageVS 2010 & .NET 4 Highlights

Call to ActionDownload Beta2Use the resources and try it outTell us your feedback

Page 19: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

ResourcesVisual Basic Developer Centerhttp://msdn.com/vbasic

VB 2010 Resourceshttp://msdn.microsoft.com/en-us/vbasic/dd819153.aspx

Blogshttp://blogs.msdn.com/vbteam (VB Team)http://blogs.msdn.com/lisa (Lisa)

Visual Basic Forumshttp://forums.msdn.microsoft.com/en-US/tag/visualbasic/forums/

Connecthttps://connect.microsoft.com/VisualStudio

Page 20: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

VB 2010 Resources

Page 21: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Related Content

Architecture Discovery and Validation with Visual Studio 2010 [DEV313]November 12, 13:30-14:45 – Paris 2 - Hall 7-1c Peter Provost

Building High Performance Parallel Software [DEV401]November 12, 15:15 - 16:30 – Berlin 1 - Hall 7-3a Steve Teixeira

Pumping Iron: Dynamic Languages on the Microsoft .NET Framework [DEV04-IS]November 10, 17:00 - 18:15 – Interactive Theatre 2 - Orange Harry Pierson

Dynamic in Microsoft Visual C# 4.0: The Why's and How's [DEV402]November 12, 10:45 - 12:00 – Helsinki - Hall 7-2a Alex Turner

Parallel Computing for Managed Developers (Repeat) [DEV307]November 13, 09:00 - 10:15 – Europa 1 - Hall 7-3b Steve Teixeira

Using C# 4.0 & VB10 Interop Features with Silverlight, Office & Python [DEV03-IS]November 12, 15:15 - 16:30 – Interactive Theatre 2 - Orange Alex Turner

Microsoft Visual Studio Tips and Tricks (Repeat) [DEV301]November 13, 13:00 - 14:15 – London 1 - Hall 7-1b Scott Cate

Page 22: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

question & answer

Page 23: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

Page 24: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

http://blogs.msdn.com/[email protected]

THANK YOU!

Meet me at theTechnical Learning Center!

Wednesday: 14:45 - 17:30

Thursday: 11:30 - 14:45

Friday: 11:30 - 14:45

Page 25: Lisa Feigenbaum Microsoft Program Manager  Session Code: DEV314

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