THE FUTURE OF C# KEVIN PILCH-BISSON MADS TORGERSEN

Slides:



Advertisements
Similar presentations
CS3012: Formal Languages and Compilers Static Analysis the last of the analysis phases of compilation type checking - is an operator applied to an incompatible.
Advertisements

Roslyn: el futuro de C# Rodolfo Finochietti
C++ Programming Languages
What is new in the new version 6.0 of the C# programming language? Telerik Academy Plus C# 6.0 and Roslyn Seminar.
Mads Torgersen Language PM for C# What’s new in C# 6.0.
Michael Armbrust A Functional Query Optimization Framework.
C#.NET C# language. C# A modern, general-purpose object-oriented language Part of the.NET family of languages ECMA standard Based on C and C++
Advanced Object-Oriented Programming Features
The CILY Programming Language Exactly What the World Needed.
Chair of Software Engineering Automatic Verification of Computer Programs.
Evolutie vs Revolutie Chris de Kok Evolutie vs Revolutie.NET 2015.NET 4.6 ASP.NET 5 -> MVC 6 Visual Studio 2015 C# 6.0 Agenda.
Introducing Xamarin 2.0 Introducing Xamarin 2.0 Michael Hutchinson
Java Course Outline Kumar Harshit, USW. Course Description Teaches students to program using the Java programming language with the help of the Netbeans.
Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages
demo video demo Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent.
{ C# IDE Tips and Tricks for Visual Studio 2010 Kevin Pilch-Bisson C# IDE Dev Lead
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
Chapter 4 Code Editor Goals and Objectives Program more efficiently? How can you speed up your development process? Do you want to learn useful shortcuts.
Java Programming Robert Chatley William Lee
Eric Vogel Software Developer A.J. Boggs & Company.
Type Safety and Enumerations. Type Checking and Type Errors  The type system defines data types and the operations on data types.  A type error occurs.
Lecture Set 2 Part B – Configuring Visual Studio; Configuration Options and The Help System (scan quickly for future reference)
Chapter 1: Introducing JAVA. 2 Introduction Why JAVA Applets and Server Side Programming Very rich GUI libraries Portability (machine independence) A.
Mads Torgersen, Microsoft.  Language INtegrated Query  An open multi-language query facility  Uses cool language stuff  Points into the future.
Keith Elder Microsoft MVP
Introduction to TypeScript Sergey Barskiy Architect Level: Introductory.
Ms. Expression Blend Intro Diliara Nasirova. WPF  UI Framework for developing and running.NET programs  It consists of two elements:  A set of DLLs.
Joe Hummel, the compiler is at your service Chicago Code Camp 2014.
1 CONFIDENTIAL.NET FEATURES OVERVIEW C# 6 ASP.NET 5 DNX PROJECT ASP.NET MVC 6 EF 7 A UGUST 4, 2015.
Refactoring1 Improving the structure of existing code.
Lagash Systems Mariano Sánchez – Software
ECE122 Feb. 22, Any question on Vehicle sample code?
C# 2.0 and Future Directions Anders Hejlsberg Technical Fellow Microsoft Corporation.

Chapter 1: Introducing JAVA. 2 Introduction Why JAVA Applets and web applications Very rich GUI libraries Portability (machine independence) A real Object.
Class and Structure. 2 Structure Declare using the keyword struct purpose is to group data Default visibility mode is public A struct doesn't have a constructor.
Demo of Scalable Pluggable Types Michael Ernst MIT Dagstuhl Seminar “Scalable Program Analysis” April 17, 2008.
Joe Hummel, the compiler is at your service SDC Meetup, Sept 2014.
How to execute Program structure Variables name, keywords, binding, scope, lifetime Data types – type system – primitives, strings, arrays, hashes – pointers/references.
C# 6 - do it right Vedran Kaldi Senior
Classes, Interfaces and Packages
Spring 2009 Programming Fundamentals I Java Programming XuanTung Hoang Lecture No. 8.
CIS 200 Test 01 Review. Built-In Types Properties  Exposed “Variables” or accessible values of an object  Can have access controlled via scope modifiers.
CSSE 375 Organizing Data – Part 1 Shawn and Steve Q1.
Alex Turner Senior Program Manager Managed Languages Team Improve Your Code Quality using Live Code Analyzers.
Writing Better C# Using C# 6 By: Mitchel Sellers.
C# Fundamentals An Introduction. Before we begin How to get started writing C# – Quick tour of the dev. Environment – The current C# version is 5.0 –
Eclipse 27-Apr-17.
Barbara Doyle Jacksonville University What’s New with Visual Studio and C#?
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.
Joe Hummel, the compiler is at your service Chicago Coder Conference, June 2016.
Java IDE Dwight Deugo Nesa Matic
OOP Tirgul 7. What We’ll Be Seeing Today  Packages  Exceptions  Ex4 2.
Top 10 Entity Framework Features Every Developer Should Know
C# and VB code-focused development with Visual Studio
5/19/2018 1:01 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
CIS 200 Test 01 Review.
The Future of C# The Future of C# and VB 2-577
Future of C#
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Methods Additional Topics
.NET and .NET Core 9. Towards Higher Order Pan Wuming 2017.
C# Today and Tomorrow Mads Torgersen,
DotnetConf 12/3/2018 1:48 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Developer Productivity: What’s New in C# 6
ReSharper Dainius Kreivys.
Developer Productivity: What’s New in C# 6
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Methods Coding in Java Copyright © Curt Hill.
Presentation transcript:

THE FUTURE OF C# KEVIN PILCH-BISSON MADS TORGERSEN

PROJECT ROSLYN A reimplementation of C# and VB compilers In C# and VB With rich public APIs On CodePlex

WHY ROSLYN?

ROSLYN DEMO Rich IDE experiences Custom diagnostics New language features

RICH IDE EXPERIENCES Inline Rename with conflict detection More refactorings:  Introduce local  Inline temp Lightbulbs to quickly fix up your code Small improvements throughout:  Colorization in quick info, signature help, outlining tooltips  Smarter case matching in Completion

CUSTOM DIAGNOSTICS Easily detect common coding problems Run live in the IDE Can attach “quick fixes” to them as well Run as part of command line/team builds Distribute together with a library on NuGet

LANGUAGE FEATURES Using static members using System.Console; … Write(4); Primary Constructors class Point(int x, int y) { … } Auto-property Initializers public int X { get; set; } = x; Getter-only auto-properties public int Y { get; } = y; Index initializers new JObject { ["x"] = 3, ["y"] = 4 } Declaration Expressions int.TryParse(s, out var x); Await in catch/finally try { … } catch { await … } finally { await … } Exception Filters catch (E e) if (e.Count == 0) { } Null Propagation Operator customer?.Orders?[5].Price

CALL TO ACTION Use the IDE and language features Dip your toes in custom diagnostics Consider forking the compiler source Give us feedback

ROSLYN, C# AND VB RESOURCES