5/19/2018 1:01 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.

Slides:



Advertisements
Similar presentations
 Dustin Campbell VB IDE Program Manager Microsoft Corporation.
Advertisements

THE FUTURE OF C# KEVIN PILCH-BISSON MADS TORGERSEN
demo video demo Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); object calc.
demo Code Like the Wind with Microsoft Visual Basic 2010 – Petree Hall D November 18, 13: :45 – Petree Hall D Lucian Wischik Microsoft.
demo Instance AInstance B Read “7” Write “8”
demo while !EmptyList Execute(next WorkItem) while !EmptyList Execute(next WorkItem) Work items are executed one at a time within a single.
customer.
Declarative ConcurrentDynamic demo Code Like the Wind with Microsoft Visual Basic 2010 – Petree Hall D November 18, 13: :45 – Petree Hall.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Satisfy Your Technical Curiosity C# 3.0 Raj Pai Group Program Manager Microsoft Corporation
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
 Boris Jabes Program Manager Lead Microsoft Corporation TL13.
Run on Windows.NET as system component Run on VM (CLR) Black box compilers Edit in Visual Studio Proprietary Run everywhere Deploy with app Compile.
10/18/2017 3:02 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
C# and VB code-focused development with Visual Studio
Windows Developer Day Fall Creators Update Chris Cortes
The Future of C# The Future of C# and VB 2-577
Future of C#
Getting Started with Visual Studio Tools for Tizen
Herding Nulls and other C# stories from the future
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
New Features in C# 7.0 Mads Torgersen C# Program Manager
Using the Windows Runtime from C# and Visual Basic
Comparing Numbers.
Microsoft Connect /17/2018 5:15 AM
Microsoft Build /19/2018 2:06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
11/21/2018 1:44 AM Анархическое декларативное программирование WEB сайтов с использованием языков XML и XSL Александр Червяк Руководитель группы компьютерного.
Xamarin Inspector & Profiler for Visual Studio Enterprise
Microsoft Connect /23/ :48 AM
Getting Started With TypeScript
Microsoft Build /28/2018 2:38 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
C# Today and Tomorrow Mads Torgersen,
An Introduction To Microsoft F#
Microsoft Connect /1/ :31 AM
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.
What’s new in F# 4.1 Phillip Carter Program Manager.
DotnetConf 12/3/2018 1:48 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Application Insights Diagnostics Preview
Microsoft Connect /7/ :18 AM
Web Development in Visual Studio 2017
MIX 09 12/8/2018 4:33 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Open sourced Power BI visuals The power you need for your custom visualization needs Lukasz Pawlowski Senior Program
Microsoft Connect /2/2019 9:06 AM
Microsoft Connect /17/2019 9:04 AM
Microsoft Connect /17/2019 9:55 PM
Welcome to Azure Notebooks
Microsoft Connect /16/ :45 PM
Bringing desktop apps to the UWP using Desktop App Converter
C++ Productivity Improvements
2/22/2019 1:12 PM The Journey To Provision and Manage a Thousand Machine Cluster for Machine Learning Neil Sant Gat © Microsoft Corporation. All rights.
Microsoft Connect /22/2019 9:54 PM
Microsoft Connect /23/ :38 AM
What’s Coming to C# William Fuqua. What’s Coming to C# William Fuqua.
Microsoft Build /27/2019 2:26 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
“Hey Mom, I’ll Fix Your Computer”
How and When to Use MEF: Too Much Is Never Enough
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Шитманов Дархан Қаражанұлы Тарих пәнінің
Microsoft Connect /28/2019 1:25 AM
Comparing Numbers.
5/30/2019 1:59 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Microsoft Connect /29/2019 1:53 AM
Power BI – The Circle is Complete
Live Data Streaming in Power BI
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Microsoft Connect /14/ :11 AM
Presentation transcript:

5/19/2018 1:01 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

The Future of C# Mads Torgersen Dustin Campbell @MadsTorgersen, @dcampbell © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Stack Overflow - most popular technologies stackoverflow.com/insights/survey/2017#most-popular-technologies

Stack Overflow - most loved technologies stackoverflow.com/insights/survey/2017#most-loved-dreaded-and-wanted

.NET Language Strategy 1,000,000’s 100,000’s 10,000’s C# VB F# 5/19/2018 1:01 AM .NET Language Strategy C# 1,000,000’s Millions VB 100,000’s Hundreds of thousands F# 10,000’s Tens of thousands © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

C# 1,000,000’s 100,000’s 10,000’s C# VB F# Millions 5/19/2018 1:01 AM C# C# 1,000,000’s Millions VB 100,000’s Hundreds of thousands F# 10,000’s Tens of thousands © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Visual Basic 1,000,000’s 100,000’s 10,000’s C# VB F# Millions 5/19/2018 1:01 AM Visual Basic C# 1,000,000’s Millions VB 100,000’s Hundreds of thousands F# 10,000’s Tens of thousands © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

F# 1,000,000’s 100,000’s 10,000’s C# VB F# Millions 5/19/2018 1:01 AM F# C# 1,000,000’s Millions VB 100,000’s Hundreds of thousands F# 10,000’s Tens of thousands © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demos! More demos! C#: The road ahead C# 7.0 C# 7.1 C# 7.2 C# 7.3 It’s there – use it! C# 7.1 First point release – tiny features C# 7.2 Safe, efficient low-level code C# 7.3 Next steps for pattern matching? C# 8.0 Major features Demos! More demos!

C# 8.0: Async streams and disposables IAsyncEnumerable<Person> people = database.GetPeopleAsync(); foreach await (var p in people) { … } using await (IAsyncDisposable resource = await store.GetRecordAsync(…)) { … }

C# 8.0: Extension everything extension Enrollee extends Person { // static field static Dictionary<Person, Professor> enrollees = new Dictionary<Person, Professor>(); // instance method public void Enroll(Professor supervisor) { enrollees[this] = supervisor; } // instance property public Professor Supervisor => enrollees.TryGetValue(this, out var supervisor) ? supervisor : null; // static property public static ICollection<Person> Students => enrollees.Keys; // instance constructor public Person(string name, Professor supervisor) : this(name) { this.Enroll(supervisor); } }

C# 8.0: Records class Person(string First, string Last); class Person : IEquatable<Person> { public string First { get; } public string Last { get; } public Person(string First, string Last) => (this.First, this.Last) = (First, Last); public void Deconstruct(out string First, out string Last) => (First, Last) = (this.First, this.Last); public bool Equals(Person other) => other != null && First == other.First && Last == other.Last; public override bool Equals(object obj) => obj is Person other ? Equals(other) : false; public override int GetHashCode() => GreatHashFunction(First, Last); … }

Resources Language strategy C# design Roslyn blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net-language-strategy/ blogs.msdn.microsoft.com/vbteam/2017/02/01/digging-deeper-into-the-visual-basic-language-strategy/ C# design github.com/dotnet/csharplang blogs.msdn.microsoft.com/dotnet/2017/03/09/new-features-in-c-7-0/ Roslyn github.com/dotnet/roslyn

@roslyn @dcampbell @MadsTorgersen Where to find us At the “C#, Visual Basic and F#” booth @roslyn @dcampbell @MadsTorgersen

5/19/2018 1:01 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.