C#
Einführung in C# – Das Ökosystem, das viele wegen des Microsoft-Stempels ignorieren
Einführung in C# – Das Ökosystem, das viele wegen des Microsoft-Stempels ignorieren
Es gibt Entwickler, die C# nie ernsthaft angeschaut haben – aus genau einem Grund: Microsoft.
„Das läuft doch nur auf Windows.“ „Da braucht man doch Visual Studio und teure Lizenzen.“ „Das ist doch dieses Enterprise-Zeug.“
Alle drei Sätze waren mal wahr. Alle drei sind seit Jahren falsch.
Und wer sie heute noch sagt, verpasst eines der rundesten Ökosysteme, die es aktuell gibt.
Was ist C# überhaupt?
C# ist eine statisch typisierte, objektorientierte Sprache, die auf der .NET-Plattform läuft.
Das Wichtigste vorweg, weil es das alte Vorurteil direkt erledigt:
- .NET ist open source (MIT-Lizenz, Entwicklung auf GitHub)
- .NET läuft cross-platform: Linux, macOS, Windows
- Entwickeln kann man mit VS Code, Rider oder jedem Editor – kostenlos
Klassisches Beispiel:
Console.WriteLine("Hallo Welt!");Ja, das ist die komplette Datei. Seit den Top-Level-Statements braucht ein C#-Programm keine Klasse und keine Main-Methode mehr.
Warum C# diesen Ruf hatte
Der Ruf kommt aus einer echten Vergangenheit:
- Das alte .NET Framework lief tatsächlich nur auf Windows
- Deployment bedeutete IIS-Server und Windows-Lizenzen
- Visual Studio war der einzige ernsthafte Weg
- Und Microsoft war in der Open-Source-Welt lange – vorsichtig formuliert – unbeliebt
Der Wendepunkt kam 2016 mit .NET Core: kompletter Rewrite, open source, cross-platform. Seitdem liefert Microsoft jedes Jahr ein Major-Release, und die Plattform gehört in Benchmarks regelmäßig zu den schnellsten Web-Stacks überhaupt.
Das Problem: Viele haben den Wendepunkt schlicht verpasst.
Modernes C# ist eine erstaunlich gute Sprache
C# hat über die Jahre konsequent Features eingesammelt, ohne zum Flickenteppich zu werden:
- Typinferenz mit
var - Records für unveränderliche Datenobjekte
- Pattern Matching
- Nullable Reference Types – der Compiler warnt, wo
nulldurchrutschen kann - LINQ – Abfragen über Collections, die sich wie Sätze lesen
async/await– das Original übrigens, andere Sprachen haben es sich hier abgeschaut
Beispiel – ein Datenobjekt plus Abfrage:
public record User(string Name, int Alter);
var users = new List<User>
{
new("Marcel", 34),
new("Alex", 28),
};
var namen = users
.Where(u => u.Alter >= 30)
.Select(u => u.Name)
.ToList();LINQ ist einer dieser Momente, in denen man sich fragt, warum das nicht jede Sprache so macht.
Das eigentliche Powerhouse: ASP.NET Core
So wie Laravel für PHP und Spring Boot für Java ist ASP.NET Core der Grund, warum C#-Backend-Entwicklung produktiv ist.
Out of the box dabei:
- Routing und Minimal APIs
- Dependency Injection (eingebaut, kein Zusatzpaket)
- Entity Framework Core für Datenbanken
- Authentifizierung und Authorization
- Konfiguration, Logging, Health Checks
- Erstklassiges Testing
Eine Minimal API sieht so aus:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/users", (UserService service) => service.FindAll());
app.Run();Kurz. Klar. Verständlich.
Und die Performance ist kein Marketing: ASP.NET Core spielt in den TechEmpower-Benchmarks seit Jahren ganz vorne mit – deutlich vor den meisten populäreren Stacks.
C# ist nicht perfekt
Natürlich nicht.
- Das Ökosystem ist Microsoft-zentriert – wer dem grundsätzlich misstraut, wird nicht glücklich
- Die Sprache hat inzwischen viele Features; alte Codebasen mischen munter alle Epochen
- Die Namensverwirrung (.NET Framework vs. .NET Core vs. .NET 5+) hat Jahre an Erklärarbeit gekostet
- Außerhalb der Microsoft-Welt (Hosting, Anleitungen, Community-Beispiele) ist PHP oder Node oft besser dokumentiert
Aber technisch? Technisch gibt es erstaunlich wenig zu meckern.
Für wen eignet sich C# heute?
Meiner Meinung nach besonders für:
- Backend-APIs und Microservices
- Unternehmenssoftware jeder Größe
- Spieleentwicklung (Unity ist C#)
- Desktop-Anwendungen
- Teams, die eine Sprache für viele Einsatzgebiete wollen
Gerade der letzte Punkt ist unterschätzt: Web, Desktop, Spiele, Mobile (MAUI), Cloud – alles eine Sprache, ein Ökosystem.
Mein persönlicher Eindruck
C# ist für mich die Sprache mit der größten Lücke zwischen Qualität und Wahrnehmung.
Technisch: moderne Sprache, exzellentes Tooling, sehr schnelle Runtime, alles aus einer Hand. Wahrnehmung: „Windows-Zeug“.
Diese Lücke ist eine Chance. Wer heute unvoreingenommen einen Backend-Stack auswählt, sollte .NET auf der Liste haben – und zwar weit oben.