Scott Hanselman Principal Program Manager Microsoft DTL303.

Slides:



Advertisements
Similar presentations
Saurabh Bhatia Program Manager Microsoft Corporation Andrew Whitechapel Senior PM Microsoft Corporation TL01.
Advertisements

Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages
demo video demo Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent.
Louis de Klerk Consultant Inobits Consulting DTL308.
Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.
Larry Mead Microsoft Corp. Jon Flanders Session Code: INT203.
Session 1.
Dynamic Languages & The.Net Framework Shay Friedman ActionBase
Alex Turner C# Compiler PM Session Code: DEV402 On the Dynamic menu today… The Dynamic Language Runtime How does it relate to the CLR? Dynamic in C#
Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); object calc.
Robert LevyDoug Kramer Program ManagerDevelopment Lead DTL337.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Samantha Durante Program Manager Microsoft Corporation WUX305.
Chris Menegay VP of Consulting Notion Solutions, Inc. DTL319.
Ram Cherala Principal Program Manager Microsoft Corporation DTL320.
Dmitry Sotnikov New Product Research Manager Quest Software DTL404.
Lisa Feigenbaum Microsoft Program Manager Session Code: DEV314.
Jeff King Senior Program Manager Microsoft Session Code: WIA204.
Ahmed Salijee Developer Advisor
Mickey Gousset Senior Technical Developer Infront Consulting Group Session Code: DTL330.
Eric Carter Development Manager Microsoft Corporation OFC324.
Bart J.F. De Smet Software Development Engineer Microsoft Corporation Session Code: DTL315.
Rabi Satter Sr. Program Manager Microsoft Corporation DTL301.
Jonathan Aneja Program Manager Microsoft Corporation Session Code: DTL336 Anders Hejlsberg Technical Fellow Microsoft Corporation.
Lap Around the.NET Framework 4 NameTitleCompany. A Look Back….NET 1.0.NET 1.1.NET NET CTP CLR 1.0 CLR 1.1 CLR 2.0 CLR.
Sara Ford Program Manager Microsoft Corporation DPR301.
Luke Hoban Senior Program Manager Microsoft Session Code: DTL319.
Mark Michaelis Chief Computer Nerd IDesign/Itron/IntelliTechture DTL313.
Scott Morrison Program Manager Microsoft Corporation Session Code: WUX308.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Visual Studio 2010 and .NET Framework 4 Name Title
How We Do Language Design at Microsoft (C#, Visual Basic, F#)
Tech·Ed North America /18/2018 2:05 PM
Tech·Ed North America /5/2018 6:10 PM
Tech·Ed North America /19/2018 3:29 PM
6/26/2018 9:02 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Ajax Taking Ajax to the Next Level
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.
C# in the Big World Mads Torgersen Program Manager
Tech·Ed North America /14/2018 7:13 PM
Sysinternals Tutorials
Tech·Ed North America /19/ :44 PM
What’s New In ASP.NET MVC 2
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.
12/27/ :01 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Data Driven ASP.NET Web Forms Applications Deep Dive
Tech·Ed North America /2/2019 4:47 PM
Tech·Ed North America /17/2019 1:47 AM
Tech·Ed North America /17/2019 6:01 PM
Microsoft SharePoint Conference 2009 Jon Flanders
Peter Provost Sr. Program Manager Microsoft Session Code: DEV312
Building Silverlight Apps with RIA Services
Using Windows Runtime and SDK to build Metro style apps
Tech Ed North America /12/2019 6:45 AM Required Slide
Brandon Bray Principal Group Program Manager Microsoft Corporation
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.
2010 Microsoft BI Conference
Tech·Ed North America /25/ :53 PM
Hack-proofing your Clients using Windows 7 Security!
How and When to Use MEF: Too Much Is Never Enough
Lap Around the Windows Azure Platform
Code First Development in Microsoft ADO.NET Entity Framework 4.1
6/20/2019 1:09 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /27/2019 6:20 AM
Tech·Ed North America /17/2019 4:14 PM
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

Scott Hanselman Principal Program Manager Microsoft DTL303

Send #scottha is cool #scottha is not cool How am I doing? Send #scottha hello Let me know you’re here! This session on Twitter

What This Is

What This Is NOT

If I’m Lucky

A Look Back….NET 1.0.NET 1.1.NET NET CTP CLR 1.0 CLR 1.1 CLR 2.0 CLR 4 SP1

Web Forms 4 - Client ID

ASP.NET Web Forms 4 Client Id / Routing Scott Hanselman Principal Program Manager Microsoft

AJAX 4 - Client Templates Server-Side (WebForms): Client-Side {{ Name }}

AJAX 4 - DataContext ASMXASMX WCFWCF ADO.NET Data Services ADO.NET ASP.NET MVC JsonResult JsonResult Etc.Etc. 1. Request 2. JSON Data DataContextDataContext 3. Modify Data 4. Save Data * DataContext includes change tracking automatically

ASP.NET AJAX 4 Client Templates / DataContext Scott Hanselman Principal Program Manager Microsoft

WPF 4 Data Grid Ribbon Multi-Touch Windows 7 Enhancements

Managed Extensibility Framework? The Managed Extensibility Framework (MEF) is a new library in the.NET Framework that enables greater reuse of applications and components. Using MEF,.NET applications can make the shift from being statically compiled to dynamically composed

Open/Closed Principle Software entities should be open for extension, but closed for modification.

Known vs. Unknown

Client Applications WPF 4 DataGrid / MEF Scott Hanselman Principal Program Manager Microsoft

The Parallel Computing Initiative Letting the brightest developers solve business problems, not concurrency problems. “Concurrency for the masses”

Parallel Computing with.NET 4 Task Parallel Library (TPL) Parallel LINQ (PLINQ) Coordination Data Structures (CDS) System.Threading Improvements

Parallel LINQ Parallel LINQ (PLINQ) enables developers to easily leverage manycore with a minimal impact to existing LINQ programming model var q = from p in people where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p; var q = from p in people where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p;

Parallel Computing Parallel LINQ (PLINQ ) Scott Hanselman Principal Program Manager Microsoft

Common Language Runtime Statically-Typed C# VB Ruby Python Dynamically-Typed Why the DLR?

Common Language Runtime Statically-Typed C# VB Ruby Python Dynamically-Typed Dynamic Language Runtime Why the DLR?

Python Binder Ruby Binder COM Binder Runtime Binder.NET Dynamic Programming Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching Iron Python IronRubyIronRubyC#C#VB.NETVB.NETOthers…Others…

DLR Integration Scott Hanselman Principal Program Manager Microsoft

Dynamically Typed Objects 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); 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); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); Statically typed to be dynamic Dynamic method invocation Dynamic conversion

Type Equivalence Interop Assemblies translate between managed code and COM For each interface, struct, enum, delegate, and member, contains a managed equivalent with marshalling data

However! Primary Interop Assemblies cause many pain points…

Go Away, PIA! 1.Compilers embed the portions of the interop assemblies that the add-ins actually use 2.Runtime ensures the embedded definitions of these types are considered equivalent

CLR 4 Type Equivalence Scott Hanselman Principal Program Manager Microsoft

.NET Framework Compatibility.NET 4.0 is a highly compatible release.NET 4.0 does not auto–roll forward You must add a configuration file with a specific switch to get 3.5 apps to run on 4.0

.NET Framework Compatibility Hang on… if 4.0 is compatible, why not run 3.5 apps automatically on 4.0? The BEST thing is always to prefer running on the version of the framework you built against Contact and submit your app for

CLR 2 - Existing Side-By-Side Host Process (i.e. Outlook).NET add-in add-in 3.5 add-in 1.1 add-in.NET 1.1

CLR 4 - In-Process Side-By-Side.NET 2.0.NET add-in Host Process (i.e. Outlook) 3.0 add-in 3.5 add-in 4.0 add-in

CLR 4 In-Process Side-By-Side Scott Hanselman Principal Program Manager Microsoft

Related Content Breakout Sessions WUX201 – ASP.NET Web Forms 4 WUX315 – ASP.NET AJAX 4 DTL06-INT – Parallel Computing DTL328 – Managed Extensibility Framework WUX204 – WPF 4 SOA401 – WorkFlow 4 DTL401 – Entity Framework 4

Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Microsoft Certification and Training Resources

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. Please visit us in the TLC blue area.

Be well, write good code, and stay in touch on Twitter

Complete an evaluation on CommNet and enter to win! Required Slide

© 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