Warum c#? oder Was will Ich eigentlich?

Wer sich entscheidet eine Softwarelösung zu entwickeln muss im Voraus viele Fragen klären.
Früher oder später wird immer die Frage zu klären sein in welcher Programmiersprache sich denn eine konkrete Aufgabenstellung am schnellsten, elegantesten oder effizientesten lösen lässt.
Also ist in diesem Kontext zu klären für welche Aufgabenstellungen C# das Mittel der Wahl sein kann.

Wer als Entwickler auf Kenntnisse in C, C++ oder COM zurückgreifen kann wird die Möglichkeit jene weiter zu verwenden nicht ungenutzt lassen wollen. Die .NET Common Language Runtime ist selbst bekanntermaßen komponentenbasiert, und C# zielt im Kern darauf ab alle Objekte möglichst einfach als Komponenten darzustellen. Im Vergleich zu einigen anderen Programmiersprachen die auf Objekten basieren sind C# Komponenten vollständig selbstbeschreibend und müssen nicht gesondert registriert werden was besonders in dem zu berücksichtigen ist wenn man an bereits existenten Anwendung arbeitet. C# im Gegensatz zu anderen Hochsprachen ermöglicht durch den unsafe-Modus Lowlevelzugriffe womit man alte performante  Lösungsansätze mit der Eleganz einer modernen Programmiersprache vereinen kann.

Für Annehmlichkeit sorgen die .NET Common Language Runtime mit massiver Bibliotheksunterstützung und Visual Studio als mächtiges und trotzdem recht intuitives Tool. Zwei Features des C# sind besonders hervor zu heben:

LINQ (Language Integrated Query), vereinheitlicht den Zugriff auf externe und interne Quellen auf die man sonst mit jeweils ihren eigenen Methoden zugreifen müsste. Im Unterschied zu SQL kann mit LINQ auch auf hierarchische und Netzwerk-Strukturen zugegriffen werden. Wichtig ist das LINQ Code vom Compiler direkt auf Fehler geprüft werden kann und so die Fehleranalyse massiv vereinfacht.LINQ bsp

Lambda-Ausdrücke, sind anonyme Funktionen mit denen lokale Funktionen geschrieben werden können welche als Argumente übergeben oder als Wert von Funktionsaufrufen zurückgegeben werden können. Auf der linken Seite des Lambda Operators => müssen etwaige Eingabeparameter stehen und auf der anderen der Ausdruck oder Anweisungsblock.
Lambdabsp



Am ehesten muss C# sich also mit Java und C++ vergleichen lassen, in folgenden Blogeinträgen werde ich auf die Unterschiede detaillierter eingehen.
Wer jetzt sofort mehr über C# samt LINQ und Lambda-Ausdrücken erfahren will hat die besten Chancen dazu in einem Kurs der ppedv.

Kommentare sind geschlossen