Jonathan Aneja Program Manager Microsoft Corporation Session Code: DTL336 Anders Hejlsberg Technical Fellow Microsoft Corporation.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
 Dustin Campbell VB IDE Program Manager Microsoft Corporation.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
demo video demo Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent.
Louis de Klerk Consultant Inobits Consulting DTL308.
Feature: OLE Notes Migration Utility
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Robert LevyDoug Kramer Program ManagerDevelopment Lead DTL337.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Chris Menegay VP of Consulting Notion Solutions, Inc. DTL319.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Ram Cherala Principal Program Manager Microsoft Corporation DTL320.

Jeff Neafsey Mobility Architect Microsoft Corporation WMB402.
Dmitry Sotnikov New Product Research Manager Quest Software DTL404.
Lisa Feigenbaum Microsoft Program Manager Session Code: DEV314.
Mickey Gousset Senior Technical Developer Infront Consulting Group Session Code: DTL330.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Eric Carter Development Manager Microsoft Corporation OFC324.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
Rabi Satter Sr. Program Manager Microsoft Corporation DTL301.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Mark Michaelis Chief Computer Nerd IDesign/Itron/IntelliTechture DTL313.
MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
How We Do Language Design at Microsoft (C#, Visual Basic, F#)
Tech·Ed North America /18/2018 2:05 PM
Tech·Ed North America /19/2018 3:29 PM
9/11/2018 5:53 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /14/2018 7:13 PM
How We Do Language Design at Microsoft (C#, Visual Basic, F#)
Возможности Excel 2010, о которых следует знать
Sysinternals Tutorials
Tech·Ed North America /19/ :44 PM
11/22/2018 8:05 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Title of Presentation 12/2/2018 3:48 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
12/5/2018 3:24 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advanced IntelliTrace in Production
Tech·Ed North America /17/2019 6:01 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
A Lap Around Internet Explorer 9 For Developers
TechEd /28/2019 7:58 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Tech·Ed North America /25/ :53 PM
Hack-proofing your Clients using Windows 7 Security!
Шитманов Дархан Қаражанұлы Тарих пәнінің
Lap Around the Windows Azure Platform
Code First Development in Microsoft ADO.NET Entity Framework 4.1
Title of Presentation 5/24/2019 1:26 PM
Tech·Ed North America /17/2019 4:14 PM
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

Jonathan Aneja Program Manager Microsoft Corporation Session Code: DTL336 Anders Hejlsberg Technical Fellow Microsoft Corporation

The Evolution of Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic 10.0 Visual Basic 11.0+

VB's Fraternal Twin: C# Co-Evolution

Trends Declarative ConcurrentDynamic

Declarative Programming What How ImperativeDeclarative

Dynamic vs. Static Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent toolsBetter scaling

Concurrency

VB10 Language Features Jonathan Aneja Program Manager Microsoft Visual Basic

Auto-implemented Properties Property FirstName As String Property LastName As String Initializers: Property ID As Integer = -1 Property Suppliers As New List(Of Supplier)

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

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)

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

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…

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

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)

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)

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

Compiler as a Service Jonathan Aneja Program Manager Microsoft Visual Basic

DTL05 – HOL What's New in Microsoft Visual Basic 9 DTL03 – INT Meet the Microsoft Visual Studio Team DTL402 – How LINQ Works: A Deep Dive into the Visual Basic and C# Implementations Related Content DTL315 – Getting the Most from Lambda Expressions DTL321 – Microsoft Visual Basic IDE Tips and Tricks DTL331 – The Future of C# DTL12 – HOL Microsoft Visual Basic 9 and LINQ

Track Resources VB Team Blog – Beth Massi's Blog – MSDN VBasic Site – Questions? Comments? Feature Requests? me at

Track Resources Visit the DPR TLC for a chance to win a copy of Visual Studio Team Suite. Daily drawing occurs every day in the TLC at 4:15pm. Stop by for a raffle ticket us/products/teamsystem/default.mspx Please visit us in the TLC blue area

Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification and Training Resources Microsoft Certification & Training Resources Resources

Complete an evaluation on CommNet and enter to win!

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