What’s Coming to C# William Fuqua. What’s Coming to C# William Fuqua.

Slides:



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

Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Building Scalable Web Apps with Windows Azure Name Title Microsoft Corporation.
© 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.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Purchase Requisitions - Requester © 2013 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.
30 April 2014 Building Apps for Windows Phone 8.1 Jump Start WinRT Apps & Silverlight.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
IAsyncResult ar = BeginSomething(…); // Do other work, checking ar.IsCompleted int result = EndSomething(ar);
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
IoCompleteRequest (Irp);... p = NULL; …f(p);
C# and VB code-focused development with Visual Studio
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.
5/19/2018 1:01 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Future of C#
Getting Started with Visual Studio Tools for Tizen
New Features of C# Kuppurasu Nagaraj Microsoft Connect 2016
Herding Nulls and other C# stories from the future
9/14/ :02 PM Triumphing in the Public Sector INFOMA worked within the strict standards of its country and vertical to gain a large market share of.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Customizing your device experience with assigned access
Break out of the box with Python
Возможности Excel 2010, о которых следует знать
New Features in C# 7.0 Mads Torgersen C# Program Manager
Define your P2P Strategy Going Deeper with Partners
Deploy Windows 10 Mobile for the mobile workforce
C++ Programming L3 . Control Structures kkkkkkkkkkkkkk
Lessons learned designing the Windows Runtime
Title of Presentation 11/22/2018 3:34 PM
Unit Testing with xUnit.net-Part-2
MIX 09 11/24/2018 9:18 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
C# Today and Tomorrow Mads Torgersen,
Office Mac /30/2018 © 2010 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.
Intranet web banner units
Title of Presentation 12/2/2018 3:48 PM
Application Insights Diagnostics Preview
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 /17/2019 9:55 PM
Welcome to Azure Notebooks
Internal social media units
Azure Functions & Aurelia Serverless SPAs
Microsoft Connect /16/ :45 PM
Meetup User Experience Design for SharePoint
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
Microsoft Connect /24/ :10 PM
Ask the Experts: Windows 10 deployment, servicing, and provisioning
Microsoft Connect /25/2019 1:20 PM
Microsoft Build /25/2019 1:55 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
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.
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.
4/27/17, Bell #8 What amount of net pay has been earned this period?
4/12/2019 5:27 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
4/20/ :00 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
My Experience In Troubleshooting BIZTALK360
Title of Presentation 5/12/ :53 PM
User Segmentation and Targeted Push Notifications for UWP apps
Title of Presentation 5/24/2019 1:26 PM
Microsoft Connect /28/2019 1:25 AM
Concurrency.
Title of Presentation 7/24/2019 8:53 PM
Power BI – The Circle is Complete
Contract Optimization Assessment
Presentation transcript:

What’s Coming to C# William Fuqua

Most popular languages https://insights.stackoverflow.com/survey/2018

Most popular (programming) languages https://insights.stackoverflow.com/survey/2018

Most loved languages https://insights.stackoverflow.com/survey/2018

Strategy We will keep growing C# to meet the evolving needs of developers and remain a state of the art programming language. We will innovate aggressively, while being very careful to stay within the spirit of the language. Given the diversity of the developer base, we will prefer language and performance improvements that benefit all or most developers We will continue to empower the broader ecosystem and grow its role in C#’s future, while maintaining strong stewardship of design decisions to ensure continued coherence. https://blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net-language-strategy

Strategy We will keep growing C# to meet the evolving needs of developers and remain a state of the art programming language. We will innovate aggressively , while being very careful to stay within the spirit of the language. Given the diversity of the developer base, we will prefer language and performance improvements that benefit all or most developers We will continue to empower the broader ecosystem and grow its role in C#’s future, while maintaining strong stewardship of design decisions to ensure continued coherence. https://blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net-language-strategy

C# 7.1, 7.2 and 7.3 C# 8.0 Safe, efficient code More freedom Less code Avoid garbage collection Avoid copying Stay safe More freedom Allow more things Less code Say it shorter

C# 7.1, 7.2 and 7.3

C# 8.0

Default Interface Members Microsoft Build 2017 2/24/2019 9:48 PM Default Interface Members interface ILogger { void Log(LogLevel level, string message); } class ConsoleLogger : ILogger // send message public void Log(LogLevel level, string message) { } © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Default Interface Members Microsoft Build 2017 2/24/2019 9:48 PM Default Interface Members interface ILogger { void Log(LogLevel level, string message); void Log(Exception ex) => Log(LogLevel.Error, ex.ToString()); } class ConsoleLogger : ILogger // send message public void Log(LogLevel level, string message) { } © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Default Interface Members Microsoft Build 2017 2/24/2019 9:48 PM Default Interface Members interface ILogger { void Log(LogLevel level, string message); void Log(Exception ex) => Log(LogLevel.Error, ex.ToString()); } class TelemetryLogger : ILogger // send message public void Log(LogLevel level, string message) { } // capture crash dump and send message public void Log(Exception ex) { } © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

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

More with Patterns var s = o switch // match expressions { Microsoft Build 2017 2/24/2019 9:48 PM More with Patterns var s = o switch // match expressions { int i => $"Number {i}", Point(int x, int y) => $"({x},{y})", // recursive patterns string s when s.Length > 0 => s, null => "<null>", _ => "<other>" }; state = match (state, request) // tuple patterns { (Closed, Open) => Opened, (Closed, Lock) => Locked, (Opened, Close) => Closed, (Locked, Unlock) => Closed, }; © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Places to go, things to do… Get the previews, and send us feedback! github.com/dotnet/csharplang/wiki Check the docs: docs.microsoft.com/en-us/dotnet/csharp/whats-new/