A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New...

16
or: A Lap around .NET 2015 and C# 6 Christian Nagel – www.cninnovation.com www.cninnovation.com

Transcript of A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New...

Page 1: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

or:

A Lap around .NET 2015 and C# 6

Christian Nagel – www.cninnovation.com

www.cninnovation.com

Page 2: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

.NET CLR C# Visual Studio

1.0 1.0 1.0 2002

1.1 1.1 1.1 2003

2.0 2.0 2.0 2005

3.0 2.0

3.5 2.0 3.0 2008

4.0 4.0 4.0 2010

4.5 4.0 5.0 2012

4.5.1 4.0 2013

4.6 4.0 6.0 2015

5 Core CoreCLR 6.0 2015

New Component-

Based Langage

Influences: C++,

Java, Pascal

Managed

Framework with

~3000 TypesBug Fixes

Minor Updates

WPF

WCF

WFDynamic

TPL

LINQ

GenericsAsync

Universal Apps

PCLWindows Runtime

(Windows 8)

Windows 8.1

www.cninnovation.com

Page 3: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

“Hello, World!“ changed!

www.cninnovation.com

Page 4: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

Training

Coaching

Coding

Writing

blog.cninnovation.com

www.cninnovation.com

@christiannagel

Microsoft Regional Director, .NET MVP

www.cninnovation.com

Page 5: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

C# 6

.NET 2015

www.cninnovation.com

Page 6: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

„We are required to innovate and deliver much faster“

„I need a cross-device development strategy“

„Open source enriches the platform and the community“

„…but I have existing applications to run and evolve“

www.cninnovation.com

Page 7: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

With the example ADO.NET Entity Framework

EF .NET Features Issues

1.0 3.5 UPD1 CSDL, MSL, SSDL .vs. LINQ to SQL

4.0 4.0 Easier, POCO, DDL… Release cycles

4.1 Code First New features via NuGet

4.2 Bug Fixes

4.3 Migrations

5.0 4.5 Performance, SQL Server

enhancements

or 4.4?

6.0 All NuGet ASP.NET Web Forms Compat

7.0 .NET 5 Core NoSQL, Clients Complete Rewrite, Compatwww.cninnovation.com

Page 8: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

C# can adapt

No big features with 6

Thanks to Roslyn

Many small helpful things

www.cninnovation.com

Page 9: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

your code…

www.cninnovation.com

Page 10: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

Auto Property Initializers

Getter-Only Auto Properties

Nameof Expressions

Expression Bodied Members

Await in Catch

Exception Filters

String Interpolation

Null Conditional Operator (Elvis Operator)

www.cninnovation.com

Page 11: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

dnvm, dnu, dnx

www.cninnovation.com

Page 12: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

• .NET Version Manager

• dnvm upgrade

• dnvm list

• dnvm useDNVM

• .NET Development Utility

• dnu restore

• dnu build

• dnu packDNU

• .NET Execution Environment

• dnx . runDNXwww.cninnovation.com

Page 13: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

RyuJIT + SIMD

Garbage Collector

Runtime components Compilers

.NET Compiler Platform (Roslyn)

Languages innovation

.NET Framework 4.6 .NET Core 5

Fully-featured and integrated

.NET libraries and runtime for Windows

Modular and optimized

.NET libraries and runtimes

Base class libraries

NuGet packages

Libraries

Page 14: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

C# 6 – Many Small Improvments

.NET Core

Open Source

Multi-Platform

Smaller Units

Faster Innovation

www.cninnovation.com

Page 15: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

Professional C# 6

Take off to .NET 2015

Offener Kurs mit Termingarantie: 20.-22. Juli 2015

Firmenkurs

Windows Apps

ASP.NET 5, .NET Core

docs.asp.net

Github

www.github.com/dotnet

www.cninnovation.com

Page 16: A Lap around .NET 2015 and C# 6 Christian Nagel...4.6 4.0 6.0 2015 5 Core CoreCLR 6.0 2015 New Component-Based Langage Influences: C++, Java, Pascal Managed Framework with ~3000 Types

Questions?

www.cninnovation.com

blog.cninnovation.com

@christiannagel

www.cninnovation.com