DEV324 C# 1.0 + VB 7.0 Managed Code C# 2.0 + VB 8.0 Generics C# 3.0 + VB 9.0 Language Integrated Query C# 4.0 + VB 10.0 Dynamic + Language Parity.

Slides:



Advertisements
Similar presentations
VIR202 Microsoft Windows User Profile Operating System.
Advertisements

The 12 Reasons to Love Microsoft SQL Server 2012 Dandy Weyn Thomas LaRock Sean Boon DBI202_R.
DBI402. SQL Server Specialist, Financial Industry Boston, MA Conference and INETA Speaker Connections, PASS, TechEd, DevTeach, etc. Author SQL Server.
Manual Testing with Microsoft Test Manager 2010
Turning PowerShell Commands into Reusable CLI and GUI Tools Don Jones Senior Partner and Principal Technologist Concentrated Technology, LLC WCL404.
Let’s Get Visual: The Art of Report Design
4/10/2017 2:53 PM SIM202 We Don't Need No Stinkin' GUI: Command-Line Capture Techniques (Remote Options) Laura Chappell Founder, Wireshark University Founder,
Learn the techniques to create a SharePoint 2010 web site from an existing branded web site.
SIM348. “ConfigMgr appeared in Gartner client buying decisions more frequently than any other product in the market in 2010.”
DEV306. LEGEND Branching / Merging point Development Test Production R1 R2 R3 Branch On Test Development Test Production Branch On Test.
DBI 312. SELECT prod.. FROM Product,,,, WHERE ….
7. Nested “try” blocks 3. Awaiter Pattern struct FooAsync_StateMachine : IAsyncStateMachine { //(1,2,3) private int _state; public AsyncTaskMethodBuilder.
Getting the Most Out of the Power of Group Policy Jeremy Moskowitz Chief Propeller-Head GPanswers.com & PolicyPak Software.
Pavel Yosifovich Hi-Tech College
Lucian Wischik VB+C# language PM Microsoft Corporation The Future of VB and C#
SIM Separate solution install paths can be taken, stand alone and SCOM integrated. Both require core AVIcode web apps and DB’s.
DEV316. Number of cores Your Process Idle time Other processes Concurrency Visualizer CPU Utilization.
DEV314. Entity Data Model demo Entity Data Model.
DEV202 Before I get started... …is too expensive. …is too complex. …requires a server.
WCL309. Demo.
Introducing Xamarin 2.0 Introducing Xamarin 2.0 Michael Hutchinson
Managed Code Generics Language Integrated Query Dynamic + Language Parity C# VB 11.0 Windows Runtime + Asynchrony C# VB 7.0 C# VB.
Louis de Klerk Consultant Inobits Consulting DTL308.
SIM314 Introduction Transport Layer Summary Network Layer.
demo.
Margin Content Padding Border.
DBI329. video.
DPR302.
Visual C#/Visual Basic: Becoming a Guru with Existing Features Peter Ritchie Principle Peter Ritchie Inc. Software Consulting DEV325.
WCL304.

DPR305. Controller Model View Client Business Objects Server Business Objects Data.
Future of VB and C# Lucian Wischik VB Language PM Microsoft.
OSP402 Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub.
WPH310. Free Phone! Windows Phone 7 as a Game Platform Free Tools to Build Great Games The Game Loop Input on Windows Phone 7 Building a Game with Your.
IAsyncResult ar = BeginSomething(…); // Do other work, checking ar.IsCompleted int result = EndSomething(ar);
VIR326. Dell Compellent always puts the right data in the right place at the right time at the right cost. That’s Fluid Data.
DEV351.
DEV332. Required Slide Speakers, please list the Breakout Sessions, Interactive Discussions, Labs, Demo Stations and Certification Exam that.
#TEDEV342 A A B B I currently deploy via FTP directly to my host. My deployment is manual because I need to set permissions on the target server.
Learn more: Download SCM: Join the TechNet Wiki community:
Application Lifecycle Management Tools for C++ in Visual Studio 2012 Rong Lu Program Manager Visual C++ Microsoft Corporation DEV316.
Jonathan Aneja Program Manager Microsoft Corporation Session Code: DTL336 Anders Hejlsberg Technical Fellow Microsoft Corporation.
DEV348. demo Valid HTML5 Syntax demo.
WSV303. I live here... DC DNS DHCP WDS Clients DC DNS WDS/DHCP DC/DNS.
DEV354. Describe your data Create screens for common tasks Author business logic Customize screen layouts Define custom queries Create custom Silverlight.
DEV325. ODATA Service metadata demo.
C# Present and Future Marita Paletsou Software Engineer.
C# 5.0 Alex Davies 22 nd December What we will cover C# 5.0,.NET 4.5, Visual Studio 11 Caller Info Attributes Upgrade from synchronous to asynchronous.
About Me AUTHENTICATION Identity Provider.
Lucian Wischik SESSION CODE: DEV401. Advanced Use of the New Microsoft Visual Basic 2010 Language Features Lucian Wischik, VB spec lead.
Async Made Simple in Windows 8, with C# and Visual Basic Alex Turner Program Manager VB/C# Compilers Microsoft Corporation DEV332.

THE FUTURE OF C#: GOOD THINGS COME TO THOSE WHO ‘AWAIT’ Joseph Albahari SESSION CODE: DEV411 (c) 2011 Microsoft. All rights reserved.
Integrating SQL Server FileTables, Property Search, and FTS/Semantic Search Bob Beauchemin Developer Skills Partner SQLskills.
DEV353. Required Slide Speakers, please list the Breakout Sessions, Interactive Discussions, Labs, Demo Stations and Certification.
COS307. demo Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. Website:
How We Do Language Design at Microsoft (C#, Visual Basic, F#)
Asynchronous Programming with C# v.Next
The Future of C# and Visual Basic
TechEd /6/2018 6:15 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Using Microsoft Visual Basic to Build Windows Phone Applications
How We Do Language Design at Microsoft (C#, Visual Basic, F#)
Asynchronous Programming in .NET
12/2/2018 4:10 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
TechEd /9/2018 4:17 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Advanced IntelliTrace in Production
Sayed Ibrahim Hashimi Program Manager Microsoft Corporation
Brandon Bray Principal Group Program Manager Microsoft Corporation
TechEd /12/ :12 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Presentation transcript:

DEV324

C# VB 7.0 Managed Code C# VB 8.0 Generics C# VB 9.0 Language Integrated Query C# VB 10.0 Dynamic + Language Parity

Concurrent

Managed Code Generics Language Integrated Query Dynamic + Language Parity C# + VB v.Next Asynchronous Programming C# VB 7.0 C# VB 8.0 C# VB 9.0 C# VB 10.0

var data = DownloadData(...); ProcessData(data); var data = DownloadData(...); ProcessData(data); DownloadDataAsync(..., data => { ProcessData(data); }); DownloadDataAsync(..., data => { ProcessData(data); });

var data = DownloadData(...); ProcessData(data); var data = DownloadData(...); ProcessData(data); DownloadDataAsync(..., data => { ProcessData(data); }); DownloadDataAsync(..., data => { ProcessData(data); });

demo

async void DoWorkAsync() { var t1 = ProcessFeedAsync(" var t2 = ProcessFeedAsync(" await Task.WhenAll(t1, t2); DisplayMessage("Done"); } async void DoWorkAsync() { var t1 = ProcessFeedAsync(" var t2 = ProcessFeedAsync(" await Task.WhenAll(t1, t2); DisplayMessage("Done"); } async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); } async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }

async void DoWorkAsync() { var t1 = ProcessFeedAsync(" var t2 = ProcessFeedAsync(" await Task.WhenAll(t1, t2); DisplayMessage("Done"); } async void DoWorkAsync() { var t1 = ProcessFeedAsync(" var t2 = ProcessFeedAsync(" await Task.WhenAll(t1, t2); DisplayMessage("Done"); } async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); } async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }

async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); } async Task ProcessFeedAsync(string url) { var text = await DownloadFeedAsync(url); var doc = ParseFeedIntoDoc(text); await SaveDocAsync(doc); ProcessLog.WriteEntry(url); }





 

  

  

   

     

     

async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; } async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; }

async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; } async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; } Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); return task.ContinueWith(delegate { var text = task.Result; var xml = XElement.Parse(text); return xml; }); } Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); return task.ContinueWith(delegate { var text = task.Result; var xml = XElement.Parse(text); return xml; }); }

async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; } async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; } Task GetRssAsync(string url) { var $builder = AsyncTaskMethodBuilder.Create(); var $state = 0; TaskAwaiter $a1; Action $resume = delegate { try { if ($state == 1) goto L1; var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); $a1 = task.GetAwaiter(); if ($a1.IsCompleted) goto L1; $state = 1; $a1.OnCompleted($resume); return; L1: var text = $a1.GetResult(); var xml = XElement.Parse(text); $builder.SetResult(xml); } catch (Exception $ex) { $builder.SetException($ex); } }; $resume(); return $builder.Task; } Task GetRssAsync(string url) { var $builder = AsyncTaskMethodBuilder.Create(); var $state = 0; TaskAwaiter $a1; Action $resume = delegate { try { if ($state == 1) goto L1; var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); $a1 = task.GetAwaiter(); if ($a1.IsCompleted) goto L1; $state = 1; $a1.OnCompleted($resume); return; L1: var text = $a1.GetResult(); var xml = XElement.Parse(text); $builder.SetResult(xml); } catch (Exception $ex) { $builder.SetException($ex); } }; $resume(); return $builder.Task; }

async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; } async Task GetRssAsync(string url) { var client = new WebClient(); var task = client.DownloadStringTaskAsync(url); var text = await task; var xml = XElement.Parse(text); return xml; }

demo

var feeds = (from url in urls select client.DownloadFeed(url)).ToArray(); var feeds = await TaskEx.WhenAll(from url in urls select client.DownloadFeedAsync(url)); No new threads!

try { string[] videoUrls = await ScrapeYoutubeAsync(url); // Network-bound Task t1 = DownloadVideoAsync(videoUrls[0]); // Start two downloads Task t2 = DownloadVideoAsync(videoUrls[1]); Video[] vids = await Task.WhenAll(t1, t2); // Wait for both Video v = await MashupVideosAsync(vids[0], vids[1]); // CPU-bound await v.SaveAsync(textbox.Text); // IO-bound } catch (WebException ex) { ReportError(ex); } try { string[] videoUrls = await ScrapeYoutubeAsync(url); // Network-bound Task t1 = DownloadVideoAsync(videoUrls[0]); // Start two downloads Task t2 = DownloadVideoAsync(videoUrls[1]); Video[] vids = await Task.WhenAll(t1, t2); // Wait for both Video v = await MashupVideosAsync(vids[0], vids[1]); // CPU-bound await v.SaveAsync(textbox.Text); // IO-bound } catch (WebException ex) { ReportError(ex); }

Managed Code Generics Language Integrated Query Dynamic + Language Parity C# + VB v.Next Asynchronous Programming C# VB 7.0 C# VB 8.0 C# VB 9.0 C# VB 10.0

Class Field public Foo private string X X Compiler Source code Source File Source code.NET Assembly Meta-programmingRead-Eval-Print Loop Language Object Model DSL Embedding

demo

Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub.

DEV328: How We Do Language Design at Microsoft May 16 at 1:15-2:30 PM, by Lisa, Don, Alex and Lucian DEV372-INT: Meet the Microsoft Visual Studio Professional Team May 17 at 3:15-4:30 PM, by All DEV317: Using Visual Basic to Build Windows Phone 7 Apps May 18, 8:30-9:45 AM, by Lucian Wischik DEV323: A Taste of F#: Today and Future May 18, 5:00-6:15, by Don Syme DEV318 - Upgrading Your C# Programming Skills May 19, 2:45-4:00PM, by Mark Michaelis VS Languages Booth

Sessions On-Demand & CommunityMicrosoft Certification & Training Resources Resources for IT ProfessionalsResources for Developers Connect. Share. Discuss.

Scan the Tag to evaluate this session now on myTechEd Mobile