Session Code: DEV314 Lisa Feigenbaum Microsoft Program Manager http://blogs.msdn.com/lisa Lap Around Visual Basic in VS 2010 Session Objectives Discover what’s available See how to take advantage.

Download Report

Transcript Session Code: DEV314 Lisa Feigenbaum Microsoft Program Manager http://blogs.msdn.com/lisa Lap Around Visual Basic in VS 2010 Session Objectives Discover what’s available See how to take advantage.

Session Code: DEV314
Lisa Feigenbaum
Microsoft Program Manager
http://blogs.msdn.com/lisa
Lap Around Visual Basic in VS 2010
Session Objectives
Discover what’s available
See how to take advantage of new features
Agenda
New Editor & Shell
VB IDE
VB Language
VS 2010 & .NET 4 Highlights
New Editor & Shell
WPF User Interface
New Look, Rich Experience
Start Page
Remove or pin projects, View directory, Customize
Editor
Zoom, Multi-Monitor, Block selection, Outlining
Extensibility
Visual Studio Gallery, Extension Manager
New Editor & Shell
Lisa Feigenbaum
Program Manager
Microsoft
“There’s an extension for that!”
Code-Focused VB IDE
Understanding
Highlight References
Type Colorization
Navigating
Navigate To: Files & Members, Ctrl+,
Writing & Testing
IntelliSense: Non-aggressive, Substring, PascalCase
Generate From Usage: Type, Method, Property
Code-Focused VB IDE
Lisa Feigenbaum
Program Manager
Microsoft
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
VB Language
Lisa Feigenbaum
Program Manager
Microsoft
Dynamic Versus Static
Dynamic
Languages
Static
Languages
Simple and succinct
Robust
Implicitly typed
Performant
Meta-programming
Intelligent tools
No compilation
Better scaling
Open Source versus Commercial
Dynamic Languages On .NET
IronPython
IronRuby
C#
VB.NET
Others…
Dynamic Language Runtime
Expression Trees
Object
Binder
JavaScript
Binder
Dynamic Dispatch
Python
Binder
Call Site Caching
Ruby
Binder
COM
Binder
VB 10, C# 4.0 And Dynamic
Visual C#
Visual Basic
Calculator calc = GetCalculator();
int sum = calc.Add(10, 20);
Dim calc As Calculator = GetCalculator()
Dim sum As Integer = calc.Add(10, 20)
Dim calc As Object = GetCalculator()
object calc = GetCalculator();
Dim sum As Integer = calc.Add(10, 20)
Type calcType = calc.GetType(); Static binding
object res =
Binding to
calcType.InvokeMember("Add",
Dim calc As ScriptObject = GetCalculator()
BindingFlags.InvokeMethod,
null,
ScriptObjects
Dim res As Object = calc.Invoke("Add", 10, 20)
new object[]
(JavaScript){ 10, 20 }); Dim sum As Integer = Convert.ToInt32(res)
int sum = Convert.ToInt32(res);
Dynamic binding
ScriptObject calc = GetCalculator();
(pre-VS 2010)
object
res
=
calc.Invoke("Add",
10,
20);
Statically typed to
int sum = Convert.ToInt32(res);
be dynamic
dynamic calc = GetCalculator();
int sum = calc.Add(10, 20);
Dynamic
conversion
Dynamic method
invocation
Dim calc As Object = GetCalculator()
Dim sum As Integer = calc.Add(10, 20)
Dynamic
conversion
Dynamic method
invocation
VB & C# 2010 Language
Feature
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 2010
Already exists in VS 2008
VB & C# 2010 IDE
Feature
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, 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
VS 2010 / .NET 4 Highlights
DGML Graphs
WPF Drag & Drop
IntelliTrace
Parallel Extensions
New Editor & Shell
Summary
What We’ve Seen
New Editor & Shell
VB IDE
VB Language
VS 2010 & .NET 4 Highlights
Call to Action
Download Beta2
Use the resources and try it out
Tell us your feedback
Resources
Visual Basic Developer Center
http://msdn.com/vbasic
VB 2010 Resources
http://msdn.microsoft.com/en-us/vbasic/dd819153.aspx
Blogs
http://blogs.msdn.com/vbteam (VB Team)
http://blogs.msdn.com/lisa (Lisa)
Visual Basic Forums
http://forums.msdn.microsoft.com/enUS/tag/visualbasic/forums/
Connect
https://connect.microsoft.com/VisualStudio
VB 2010 Resources
Related Content
Pumping Iron: Dynamic Languages on the Microsoft .NET Framework [DEV04-IS]
November 10, 17:00 - 18:15 – Interactive Theatre 2 - Orange Harry Pierson
Architecture Discovery and Validation with Visual Studio 2010 [DEV313]
November 12, 13:30-14:45 – Paris 2 - Hall 7-1c Peter Provost
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
Building High Performance Parallel Software [DEV401]
November 12, 15:15 - 16:30 – Berlin 1 - Hall 7-3a 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
Parallel Computing for Managed Developers (Repeat) [DEV307]
November 13, 09:00 - 10:15 – Europa 1 - Hall 7-3b Steve Teixeira
Microsoft Visual Studio Tips and Tricks (Repeat) [DEV301]
November 13, 13:00 - 14:15 – London 1 - Hall 7-1b Scott Cate
Complete an evaluation
on CommNet and enter to
win an Xbox 360 Elite!
Meet me at the
Technical Learning Center!
http://blogs.msdn.com/lisa
[email protected]
© 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.