Future of C# Umamaheswaran @UMW1990.

Slides:



Advertisements
Similar presentations
Continuation of chapter 6…. Nested while loop A while loop used within another while loop is called nested while loop. Q. An illustration to generate.
Advertisements

Spec# K. Rustan M. Leino Senior Researcher Programming Languages and Methods Microsoft Research, Redmond, WA, USA Microsoft Research faculty summit, Redmond,
10 dingen die je niet wist over C#. ALM ALM Ranger Microsoft Auteur Getrouwd Lezen C#
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics C# Language &.NET Platform 12 th -13 th Lecture Pavel Ježek.
Language Fundamentals in brief C# - Introduction.
.NET 3.5 – Mysteries. NetFx Evolution NetFx 1.0 C# 1.0, VB 7.0, VS.NET NetFx 1.1 C# 1.1, VB 7.1, VS 2003 NetFx 2.0 C# 2.0, VB 8.0, VS 2005 NetFx 3.0 C#
THE FUTURE OF C# KEVIN PILCH-BISSON MADS TORGERSEN
Equality Programming in C# Equality CSE 494R (proposed course for 459 Programming in C#) Prof. Roger Crawfis.
C#: Data Types Based on slides by Joe Hummel. 2 UCN Technology: Computer Science Content: “.NET is designed around the CTS, or Common Type System.
3. Data Types. 2 Microsoft Objectives “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies, written in different.
5. OOP. 2 Microsoft Objectives “Classes, objects and object-oriented programming (OOP) play a fundamental role in.NET. C# features full support for the.
Managed Code Generics Language Integrated Query Dynamic + Language Parity C# VB 11.0 Windows Runtime + Asynchrony C# VB 7.0 C# VB.
.NET Data types. Introduction ٭ A "data type" is a class that is primarily used just to hold data. ٭ This is different from most other classes since they're.
Windows Programming Using C# Classes & Interfaces.
Equality Programming in C# Equality CSE / ECE 668 Prof. Roger Crawfis.
Eric Vogel Software Developer A.J. Boggs & Company.
Reflection in.Net Siun-Wai Seow. Objective Explain.NET Reflection When to use it? How to use it? Topic is in the final exam.
FEN 2012 UCN Technology: Computer Science1 C# - Introduction Language Fundamentals in Brief.
Scala Technion – Institute of Technology Software Design (236700) Based on slides by: Sagie Davidovich, Assaf Israel Author: Gal Lalouche - Technion 2015.
A Singleton Puzzle: What is Printed? 1 public class Elvis { public static final Elvis INSTANCE = new Elvis(); private final int beltSize; private static.
© A+ Computer Science - public Triangle() { setSides(0,0,0); } Constructors are similar to methods. Constructors set the properties.
FEN UCN T&B - PBA/CodeContract- Intro 1 Code Contract Introduction Specification of a Person Class.
Joe Hummel, the compiler is at your service Chicago Code Camp 2014.
C# F 1 CSC 298 Object Oriented Programming (Part 1)
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.

ITF11006.NET The Basics. Data Types – Value Types – Reference Types Flow Control – Conditional – Loop Miscellaneous – Enumerations – Namespaces Class.
Inheritance (Part 5) Odds and ends 1. Static Methods and Inheritance  there is a significant difference between calling a static method and calling a.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College Lecture 2: Working with Visual.
Static. 2 Objectives Introduce static keyword –examine syntax –describe common uses.
Application development with Java Lecture 21. Inheritance Subclasses Overriding Object class.
Joe Hummel, the compiler is at your service SDC Meetup, Sept 2014.
Dictionaries, Hash Tables, Collisions Resolution, Sets Svetlin Nakov Telerik Corporation
Inherited Classes in Java CSCI 392 Ch 6 in O’Reilly Adapted from Dannelly.
Other news? async and await Anonymous types (var, dynamic) Tuples Object instantiation Extension methods UCN Teknologi/act2learn1FEN 2014.
Writing Better C# Using C# 6 By: Mitchel Sellers.
COMP Inheritance and Polymorphism Yi Hong June 09, 2015.
C# Present and Future Marita Paletsou Software Engineer.
Powerpoint slides from A+ Computer Science Modified by Mr. Smith for his course.
Joe Hummel, the compiler is at your service Chicago Coder Conference, June 2016.
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.
Computing with C# and the .NET Framework
5/19/2018 1:01 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
÷ 10 Millions Thousands Ones Hundred Millions Ten Millions Hundred Thousands Ten Thousands Hundreds Tens.
4,135,652 Place Value Hundred Thousands Ten Thousands Hundreds
16: Equals Equals Programming C# © 2003 DevelopMentor, Inc. 12/1/2003.
2.7 Inheritance Types of inheritance
Objective - To round whole numbers.
Delegates/ Anders Børjesson
Herding Nulls and other C# stories from the future
L l l l l l l l l l l 783.
CS 302 Week 11 Jim Williams, PhD.
5.1 Being Objects and A Glimpse into Coding
Implementing Polymorphism
Place Value.
Comparing Numbers.
Objective - To compare numbers.
Place Value © Ashley Lee, 2013.
4,135,652 Place Value Hundred Thousands Ten Thousands Hundreds
CSE 1030: Implementing Mixing static and non-static features
C# Today and Tomorrow Mads Torgersen,
Inherited Classes in Java
Interfaces.
Assignment 7 User Defined Classes Part 2
Class Everything if Java is in a class. The class has a constructor that creates the object. public class ClassName private Field data (instance variables)
What’s Coming to C# William Fuqua. What’s Coming to C# William Fuqua.
A B A B C D C D A B B A B C D D C D A B A B C D C D A B A B C D C D
Place Value.
Comparing Numbers.
5. OOP OOP © 2003 Microsoft.
Presentation transcript:

Future of C# Umamaheswaran @UMW1990

Stack Overflow – most popular technologies

Stack Overflow – most loved technologies

.NET Language Strategy 1,000,000’s C# 100,000’s VB 10,000’s F# Millions VB 100,000’s Hundreds of thousands F# 10,000’s Tens of thousands

C#: The road ahead C# 7.0 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

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

Thank you