Neues zu Roslyn und C#

Sprachen  –  2 Kommentare

Lange Zeit wurde spekuliert, ob auf der BUILD-Konferenz 2014, eine neue Version on C# vorgestellt wird. Das ist nicht passiert. Microsoft schenkte stattdessen einem anderen Projekt viel Aufmerksamkeit: Roslyn.

Roslyn geistert schon seit 2010 durch die .NET Community. Seit dem machte das Projekt mit immer neuen Gerüchten und Prognosen auf sich aufmerksam. An eine Veröffentlichung haben viele nicht mehr geglaubt, da Microsoft den Termin immer wieder verschob.

Streng genommen wurde das Projekt bis heute nicht richtig veröffentlicht. Es steht lediglich eine weitere Vorabversion zur Verfügung. Letztere bietet, anders als die Versionen zuvor, aber nicht nur einen Einblick in die aktuellen Features der Compiler-Plattform: Roslyn implementiert in der momentanen Vorschauvariante neue Funktionen der Programmiersprachen C# und Visual Basic.NET. Für interessierte Anwender und Anwenderinnen ist die aktualisierte Preview also die Gelegenheit, Neues auszuprobieren.

Zur Erinnerung: Mit Roslyn steht nicht nur ein typischer Batch Compiler für C# und Visual Basic.NET zur Verfügung, bei dem man vorn etwas Code eingibt und am Ende eine Zwischensprache herauskommt. Roslyn bietet zusätzlich ein API an. Mit ihr ist der Zugriff auf die Struktur eines beliebigen C#-Quelltextes möglich – beispielsweise für das Implementieren von Analyse-Tools. Abbildung 1 zeigt eine schematische Übersicht der vorhandenen Schnittstellen und deren Aufbau.

Bestandteile und Schichten des Roslyn-Projekts (Abb. 1)


Im Allgemeinen steht das Projekt Roslyn für eine neue Art von Compiler, die mit managed Code geschrieben wird. Ob sich diese Art durchsetzt, wird sich zeigen müssen. Das Echo ist bisher geteilt. Viele halten Roslyn, beziehungsweise die damit verbundene Art und Weise mit Compilern umzugehen, für eine mögliche Zukunft im Bereich der Programmiersprachen. Mit ihr bieten sich jedem Entwickler deutlich weitreichendere Möglichkeiten, zum Beispiel um die Syntax anzupassen oder eine eigene Domain Specific Language (DSL) zu erstellen.

Andere fragen sich wiederum, warum es dazu ein eigenständiges Projekt braucht. Sprachen wie F# beherrschen das schon längere Zeit. Eine interessante Analyse, wie komplex Projekte wie Roslyn oder ein F#-Compiler sind, lässt sich in einem Blogeintrag nachlesen.

Die neue Preview-Version des Compiler-Projekts war allerdings nicht die bedeutendste Meldung der BUILD 2014 in Bezug auf Roslyn. Wesentlich mehr Aufmerksamkeit bekam die Nachricht, dass Roslyn ab sofort Open Source ist und der gesamte Quelltext zur Verfügung steht. Anders Hejlsberg veröffentlichte live auf der Bühne das Git-Repository, das auf CodePlex beheimatet ist. Der interessante und sicherlich von wenigen vorhergesehene Schritt zeigt, dass Microsoft in Sachen Open-/Closed-Source lernfähig ist. Das Unternehmen kann sich nicht länger der Community verschließen. Das gilt insbesondere für die Unix-Welt, die mit Mono gezeigt hat, dass Interesse und Bedarf an C# besteht, auch wenn die darunter liegende Plattform nicht Windows heißt. Das Repository lässt sich direkt mit dem Befehl

git clone https://git01.codeplex.com/roslyn 

lokal klonen. Wichtiger Hinweis: Um das Projekt erfolgreich zu kompilieren, ist aktuell noch eine installierte Version von Roslyn notwendig. Das liegt an bestimmten Abhängigkeiten, die sich sonst nicht auflösen lassen. Nähere Informationen dazu bietet die Dokumentation auf CodePlex.

Als Lizenz kommt die Apache License in Version 2.0 zum Einsatz. Auch das ist sehr erfreulich, da es sich um eine wirkliche "Änderungen erwünscht"-Lizenz handelt und nicht um eine "nur gucken, nicht anfassen"-Lizenz, die in den vergangenen Jahren häufiger bei Microsoft-Projekten zum Einsatz kam.

Bevor die neuen Funktionen zur Verfügung stehen, ist die aktuelle Preview-Version des Roslyn-Projekts auf dem Rechner zu installieren. Das lässt sich beispielsweise über Microsofts Download-Bereich realisieren. Dort sind diverse Downloads zu Visual Studio und dem .NET Framework zu finden. Ist der Filter auf ".NET Compiler Platform" eingestellt, tauchen nur noch zwei Downloads auf. Beide Male handelt es sich um die ".NET Compiler Platform (Roslyn) SDK Preview", nur in unterschiedlichen Versionen. Eine ist in der aktuellen Community Technology Preview (CTP) von Visual Studio 2014 enthalten. Der andere Download gilt Visual Studio 2013, auf dessen Grundlage auch der vorliegende Artikel und seine Beispiele entstanden sind.

Für die Downloads ist ein Microsoft Live Account notwendig. Zudem erscheint nach dem Einloggen eine kurze Umfrage. Microsoft begründet das damit, dass das Unternehmen auf Feedback der Community angewiesen ist, um Roslyn zur verbessern.

An dieser Stelle noch ein kleiner Hinweis: Häufig macht eine veraltete Version des NuGet-Paket-Managers bei der Installation der Roslyn-Vorabversion Probleme. Er muss mindestens in Version 2.8.1 oder höher vorliegen. Es schadet daher sicherlich nicht, vor dem Einrichten von Roslyn in Visual Studio im Menü unter "Tools" > "Extensions and Updates" nachzuschauen, welche Version installiert und ob ein Update vorhanden ist.

Die Downloads enthalten vsix-Pakete, mit denen sich Visual Studio um die zusätzlichen Funktionen erweitern lässt. Wer nur die End User Preview von Roslyn ausprobieren möchte, muss lediglich die Datei Roslyn End User Preview.vsix installieren. Ansonsten stehen noch die Projekt-Templates und der Syntax Visualizer zur Verfügung. Nach der Installation ist ein Neustart von Visual Studio erforderlich, im Anschluss stehen alle Sprachfeatures und APIs zur Verfügung.