Der C# Special Day auf der BASTA! 2012

Innovation ist anders oder Never change a winning team
Kommentare

Der C# Day gehört zu den BASTA! Special Days mit der längsten Tradition. Er hat sich mittlerweile im Konferenzumfeld genauso etabliert wie die 2001 eingeführte Programmiersprache C# in der Microsoft-Welt. Und wie für eine etablierte Institution üblich, geschieht auch die Evolution Microsofts liebster Sprache nur in kleinen Schritten – ganz getreu des Mottos „Never change a winning team“. Die Natur dieser Schritte, begleitet von Tipps und Tricks für C#-Entwickler, erfuhren wir auf der BASTA! 2012.

Den Anfang des Special Days machte dessen Moderator Oliver Sturm (thinktecture) mit seiner Session „C# in the Modern World“. Ziel war, die BASTA!-Besucher auf den neusten Stand in Sachen C# zu bringen und ihnen klar zu machen, dass die Programmiersprache zwar etabliert, aber noch lange nicht veraltet ist. Nein, sie steht sogar gänzlich neuen Herausforderungen gegenüber. Welchen Einfluss hat die Rückkehr des bereits totgesagten C++? Sollte ich als C#-Entwickler vielleicht neue Wege gehen? Und welche Rolle spielen Windows Store Apps, die ja auf Microsofts neuer Entwicker-Plattform WinRT basieren? Ist die COM-basierte WinRT nicht gleichzeitig ein Schritt in die Vergangenheit wie auch in die Zukunft?

C# 5.0 zeichnet sich im Vergleich zu den Vorgängern der Programmiersprache vielmehr durch Kontinuität aus als durch Innovation. So liest sich die Auflistung der neuen Features recht schnell: Neu sind die Stichworte await und async zur Erleichterung der asynchronen Programmierung …und das war’s im Grunde genommen auch schon. Die restlichen Neuerungen kann man, Sturm zufolge, guten Gewissens unter den Tisch fallen lassen. Oder interessieren Sie sich etwa sonderlich für neue Compiler-Optionen? In diesem Sinne konzentrierte sich auch der Moderator auf die beiden Schlagwörter async und await und lieferte zwei praktische Beispiele für deren Anwendung – eines davon sehr abstrakt, das andere deutlich praktischer und wohl auch nachvollziehbarer.

Kommen wir nun zu der Frage, wie sich C# in der neuen Welt schlägt. Und was meinen wir, wenn wir im Microsoft-Kontext von einer neuen Welt sprechen? Richtig, wir meinen Windows 8, die dazugehörigen Windows Store Apps und deren Basis Windows Runtime (WinRT), eine native Plattform, die jedoch durch Projections mit verschiedenen Sprachen in Einklang gebracht wird. Auch Windows Store Apps können in Visual Studio 2012 mit Hilfe von C# erstellt werden – wie das geht, führte uns Oliver Sturm vor. Trotz der neuen Technologien, der Rückkehr der Sprache C++, dem Bedeutungsgewinn von HTML5 sowie JavaScript und der Revolution des Windows-Betriebssystems hat C# also in keinster Weise an Bedeutung verloren.

Was die asynchrone Programmierung angeht, hat C# mit der Version 5.0 sogar noch an Bedeutung gewonnen. Diese wird nämlich, wie bereits von Oliver Sturm erwähnt, mit Hilfe der Stichwörter async und await deutlich vereinfacht. Auf diese Funktionen ging Christian Nagel (thinktecture) in seiner Session „Async mit C# 5“ genauer ein. Selbsterklärtes Ziel war, den BASTA!-Teilnehmern die Vorteile der Task-basierten Async-Programmierung, wie sie erst mit C# 5.0 möglich wird, nahe zu bringen.

In diesem Sinne erzählte der Speaker eine kurze Geschichte der asynchronen Programmierung mit C#, von all ihren Schwierigkeiten, Problemen und letztendlich auch Verbesserungen und Problemlösungen. Schon seit Version 1.0 sind die sogenannten Async Patterns Bestandteil von C#, doch diese Patterns, die Begin/End-Methoden definieren, waren sehr komplex zu verwenden – sie stellten hohe Anforderungen an den Entwickler und waren folglich mit einer hohen Fehlerrate verbunden. Das in C# 2.0 eingeführte Async Event Pattern vereinfachte die ganze Geschichte zwar, ließ die asynchrone Programmierung jedoch immer noch in falscher Reihenfolge ablaufen. Erst C# 5.0 macht heute mit Hilfe der Stichwörter async und await die asynchrone Programmierung in C# tatsächlich für den Entwickler zumutbar und problemlos durchführbar. Asynchrone Aufrufe werden hiermit prinzipiell genauso wie ihre synchronen Gegenstücke programmiert – einfacher geht kaum.

Doch so einfach die asynchrone Programmierung mit C# durch async/await auch geworden ist, Programme werden von Entwicklern geschrieben und diese sind bekanntlich auch nur Menschen, die hin und wieder mal einen Fehler machen. Damit diese Fehler jedoch im Software-Unternehmen verbleiben und nicht an die Kunden weiter getragen werden, sind Tests vonnöten. Wie man Unit Tests zur asynchronen Programmierung am besten schreibt, erklärte die Session „Teststrategien für C# async/await“, gehalten von Britta Labud (bbv Software Services AG). Die C#-Expertin führte hier einige Teststrategien anhand von praktischen Beispielen vor.

Oliver Sturm spricht vor einem voll besetzten BASTA!-Konferenzsaal über die neuen Features in C# 5.0.
Oliver Sturm spricht vor einem voll besetzten BASTA!-Konferenzsaal über die neuen Features in C# 5.0.

Obwohl die neuen Features zur asynchronen Programmierung im Rahmen des C# Special Days zweifelsohne am ausführlichsten behandelt wurden, fanden natürlich auch weitere Features der .NET-Sprache Erwähnung. So hielt Oliver Sturm erneut seinen mittlerweile schon zum BASTA!-Klassiker gewordenen Vortrag „C# Stand der Dinge 2012 – Best Practices“ – natürlich mit einigen Ergänzungen in Bezug auf die inzwischen verfügbare Final-Version von Visual Studio 2012.

Delegates, explizite beziehungsweise implizite Interface-Implementationen und Schleifen-Konstrukte dürften wohl den meisten C#-Entwicklern ein Begriff sein, doch wer kennt schon den Null-coalescing Operator? Nicht nur diese Funktion, sondern auch andere, wahrscheinlich deutlich bedeutsamere, stellte Sturm in seiner Session vor. Besonders dank seiner tabellarischen Auflistung aller neuen Features der einzelnen C#-Versionen dürften alle Besucher einen umfassenden Überblick und weitreichendes Verständnis für die Sprache C# erlangt haben. Die Frage, wie man C# Code am schnellsten schreibt, in ihm am leichtesten Fehler findet und am besten im Code selbst navigiert, beantwortete indes Rainer Stropeks (software architects) Session „Coding like the Wind – die Visual Studio 11 C# IDE“.

Nach Abschluss des C# Special Days auf der in der Mainzer Rheingoldhalle stattfindenden BASTA! 2012 dürfte wohl kein Zweifel mehr darüber bestehen, dass C# zwar wenig innovativ, aber genauso wenig veraltet oder gar out ist. Weder das Aufkommen neuer Technologien wie HTML5 oder JavaScript noch die Rückkehr des über 30 Jahre alten C++ haben der Beliebtheit der .NET-Sprache einen Abbruch getan. Sie ist und bleibt die populärste Sprache der .NET-Plattform und so dürfen wir uns auch in Zukunft auf viele weitere C# Days freuen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -