Einführung in C# – Das Ökosystem, das viele wegen des Microsoft-Stempels ignorieren

Warum C# und .NET heute open source, cross-platform und richtig gut sind – und weshalb viele Entwickler das immer noch nicht mitbekommen haben.

This article has not been translated yet. You are viewing the original German version.

Read in German →

C#

Einführung in C# – Das Ökosystem, das viele wegen des Microsoft-Stempels ignorieren

Marcel Strahl3 min read

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 null durchrutschen 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.