Download presentation
Presentation is loading. Please wait.
Published byMagnus Reynolds Modified over 9 years ago
2
Louis de Klerk Consultant Inobits Consulting DTL308
3
The Evolution of Visual Basic Visual Basic 1.0-3.0 Visual Basic 4.0-6.0 Visual Basic 7.0-9.0 Visual Basic 10.0 Visual Basic 11.0+
4
VB's Fraternal Twin: C# Co-Evolution
5
Trends Declarative ConcurrentDynamic
6
Declarative Programming What How ImperativeDeclarative
7
Dynamic vs. Static Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent toolsBetter scaling
8
Concurrency
9
VB10 Language Features
10
Auto-implemented Properties Property FirstName As String Property LastName As String Initializers: Property ID As Integer = -1 Property Suppliers As New List(Of Supplier)
11
Collection Initializers Dim x As New List(Of Integer) From {1, 2, 3} Dim list As New Dictionary(Of Integer, String) From {{1, “Bart”}, {2, “Lisa”}, {3, “Homer”}} Array Literals: Dim a = {1, 2, 3} 'infers Integer() Dim b = {1, 2, 3.5} 'infers Double()
12
Statement Lambdas Dim items = {1, 2, 3, 4, 5} Array.ForEach(items, Sub(n) Console.WriteLine(n)) Array.ForEach(items, Sub(n) If n Mod 2 = 0 Then Console.WriteLine(n) End Sub) 'Count the number of even items in the array Dim total = items.Count(Function(n) Return (n Mod 2 = 0) End Function)
13
Implicit Line Continuation Function Go( ByVal x As Integer, ByVal y As Integer ) Dim query = From n In { 123, 456, } Order By n Select n + x
14
Python Binder Ruby Binder COM Binder JavaScript Binder Object Binder.NET Dynamic Programming Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching IronPythonIronPythonIronRubyIronRubyC#C#VB.NETVB.NETOthers…Others…
15
Calling Python from VB.NET
16
Interop with Dynamic Languages 'Load a file from Python into memory Dim random As Object = python.UseFile("random.py") Dim items = {1, 2, 3, 4, 5, 6, 7} 'Dynamic (late-bound) call to Python function random.shuffle(items) 'Print out the shuffled array Array.ForEach(items, Sub(n) Console.WriteLine(n))
17
Generic Variance Dim apples As IEnumerable(Of Apple) = New List(Of Apple) 'Covariance (Apple inherits from Fruit) Dim fruits As IEnumerable(Of Fruit) = apples 'Contravariance - Func(Of In T, Out R) Dim predicate As Func(Of Fruit, Boolean) = Function(f) f.Color = "Red" apples.Where(predicate)
18
Compiling without PIAs Use PIAs at design-time, not runtime No need to deploy PIA to user’s machine Compiler embeds the specific members of the specific types used into your assembly. (Prevents assembly from becoming bloated)
19
Compiler as a Service Compiler Source code Source File Source code.NET Assembly Class Field public Foo private string X X Meta-programmingRead-Eval-Print Loop Language Object Model DSL Embedding
20
Track Resources VB Team Blog – http://blogs.msdn.com/vbteam http://blogs.msdn.com/vbteam Beth Massi's Blog – http://blogs.msdn.com/bethmassi http://blogs.msdn.com/bethmassi MSDN VBasic Site – http://msdn.com/vbasic http://msdn.com/vbasic
21
Related Sessions (.NET 4) WhenWhatAreaCode Mon 8:00Future Directions for Visual BasicLanguagesDTL308 Mon 17:15The State of Dynamic Languages on the Microsoft.NET Framework LanguagesDTL304 Tues 9:15Introduction to F#LanguagesDTL:319 Tues 16:15The Future of C#LanguagesDTL310 Mon 9:15The Manycore Shift: Making Parallel Computing Mainstream CLR/BCLDTL206 Tues 17:30Managed Extensibility FrameworkCLR/BCLDTL315 Tues 14:30A First Look at WCF and WF in the Microsoft.NET Framework 4.0 MiddleSOA201 Mon 17:15The ADO.NET Entity Framework 4DataDTL402 Tues 17:30An Introduction to the ADO.NET Data Services Framework v1.5 DataDTL208
22
Related Sessions (.NET 4) TImeTopicAreaCode Mon 15:45Building Scalable and Available Web Applications with the Microsoft Code Name "Velocity" WebWUX301 Tues 10:50A Lap around Microsoft ASP.NET 4.0 and Microsoft Visual Studio 2010 WebWUX203 Wed 9:00Taking AJAX to the Next Level**WebWUX306 Mon 8:00Building Rich Business Clients in WPF: New Tools and Controls for Windows Presentation Foundation ClientWUX303 Tues 13:15Microsoft Visual Studio 2010 Overview for the Business Application Developer GeneralDTL309
23
www.microsoft.com/teched International Content & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings from Tech-Ed website. These will only be available after the event. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings from Tech-Ed website. These will only be available after the event. Tech ·Ed Africa 2009 sessions will be made available for download the week after the event from: www.tech-ed.co.zawww.tech-ed.co.za
24
Required Slide Complete a session evaluation and enter to win! 10 pairs of MP3 sunglasses to be won
26
© 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. Required Slide
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.