C# - ausgesprochen C-Sharp - ist eine extrem typsichere Programmiersprache, die den Ansatz der Objekt-orientierten Programmierung verfolgt. Als Mit-Erfinder und usprünglicher Architekt gilt Anders Hejlsberg, ein dänischer Software Entwickler aus Kopenhagen. Er ist zudem auch der Mit-Erfinder von TypeScript.

C# hat sehr starke Ähnlichenkeiten mit Java und greift auch Konzepte von C, C++ und Haskell auf. So existieren in C# prinzipiell - wie in C++ - Pointer; sind aber nicht ohne die explizite Deklaration von "unsicherem Code" nutzbar.

C# ist im .NET Framework beherbergt, das noch anderen Programmiersprachen wie F#, VB.NET, das Zuhause bietet. Dahingehend wurden neue C# Versionen auch immer zusammen mit einer neuen .NET Version verabschiedet und veröffentlicht.

Versionen

Jahr.NET VersionC# Version
20021.01.0
20031.11.2
20052.02.0
20063.02.0
20073.53.0
20104.04.0
20124.55.0
20154.66.0

.NET Versionierung

.NET verfolgt die Stategie der Side-by-Side Runtime, wobei eine Runtime selbst Unterversionen hat.

  • Die .NET Runtime 1 - .NET 1 CLR - beinhaltet die .NET Version 1.1.
  • Die .NET Runtime 2 - .NET 2 CLR - beinhaltet die .NET Versionen 2.0, 3.0 sowie 3.5
  • Die .NET Runtime 4 - .NET 4 CLR - beinhaltet die .NET Version 4.0, 4.5, 4.6 sowie deren Patches 4.5.1, 4.5.2, 4.6.1 und 4.6.2

C# Versionierung

Die Versionierung von C# ist bis auf 1.2 stets ein Major-Change, wobei C# prinzipiell die Stategie der Aktualisierbarkeit verfolgt. C# 5.0 Code sollte auch in 6.0 kompilieren und die gleichen Ergebnisse produzieren.

Open Source

Microsoft hat über die .NET Foundation der Allgemeinheit offengelegt. Dementsprechend ist die gesamte Sprache C&#35 sowie der Compiler Rosyln nun Open Source.

Rosyln Compiler

Mit Visual Studio 2015 hat Microsoft den Rosyln Compiler mitgeliefert. Dieser ist Open Source und unter https://github.com/dotnet/roslyn verfügbarr. Man kann sich den Code ziehen und auch aktiv an diesem entwickeln. Roslyn bietet dabei eine enorme Erweiterbarkeit sowie eine sehr leistungsfähige Codeanalyse. Auch TypeScript wurde mit Hilfe von Rosyln entwickelt.

C# 7.0

C# ist eine sehr gereifte Sprache und bietet Sprachelemente, die sie eigenartig machen. Andere Sprachen übernehmen teilweise den Syntaxzucker sowie die Konzepte wie Linq.