Zum Inhalt springen
Akinware
Aufgeklappter Laptop mit Quelltext neben einer Pflanze

Was ist C#?

C# ist die Programmiersprache von Microsofts .NET-Plattform und die übliche Wahl für Software, die in Unternehmen über Jahre laufen muss. Woher die Sprache kommt, was sie kann und wann sie sich lohnt, verständlich erklärt.

Lesezeit
9 Minuten
Autor
Samet Akin
Veröffentlicht

Was ist C#?

C#, gesprochen C Sharp, ist eine Programmiersprache, die Microsoft 2002 zusammen mit dem .NET Framework veröffentlicht hat. Die beiden Begriffe gehören zusammen und tauchen in Ausschreibungen fast immer gemeinsam auf: C# ist die Sprache, .NET die Plattform darunter, die fertige Bausteine für Datenbankzugriff, Web-Backends und Hintergrunddienste mitbringt. Man schreibt C#, und .NET sorgt dafür, dass das Programm auf dem jeweiligen System läuft.

Das prägende Merkmal der Sprache ist ihre Strenge, und die ist als Kompliment gemeint. C# prüft beim Übersetzen, ob jede Stelle im Code die Daten bekommt, die sie erwartet. Ein Tippfehler im Feldnamen oder eine Zahl, wo ein Datum stehen sollte, stoppt das Programm, bevor es überhaupt startet. Bei Software, die Aufträge, Rechnungen oder Messwerte verarbeitet, ist genau diese Strenge der Grund, warum sie zehn Jahre durchhält.

public record Auftrag(string Nummer, decimal Summe, bool Bezahlt);

decimal OffeneSumme(List<Auftrag> auftraege)
{
    return auftraege
        .Where(a => !a.Bezahlt)
        .Sum(a => a.Summe);
}

// OffeneSumme("morgen") scheitert schon beim Übersetzen:
// ein Text ist keine Liste von Aufträgen.

Wie funktioniert C#?

C#-Code wird nicht Zeile für Zeile ausgeführt, sondern zuerst übersetzt. Der Compiler prüft dabei das ganze Programm und erzeugt ein Zwischenformat, das die .NET-Laufzeitumgebung dann auf dem Zielsystem ausführt. Diese Laufzeitumgebung übernimmt lästige Grundaufgaben wie die Speicherverwaltung, sodass eine ganze Klasse von Fehlern, die in älteren Sprachen wie C++ für Abstürze sorgt, gar nicht erst entsteht.

Lange bedeutete .NET automatisch Windows. Das ist vorbei: Seit .NET Core ist die Plattform quelloffen unter der MIT-Lizenz und läuft genauso auf Linux und macOS. Ein C#-Backend läuft heute im Linux-Container bei jedem Cloud-Anbieter, ohne Windows-Lizenzen. Für Auftraggeber heißt das günstigeres Hosting und freie Wahl beim Betrieb.

Rund um die Sprache hat Microsoft eine Werkzeugkette gebaut, die zum Besten gehört, was es in der Softwareentwicklung gibt. Visual Studio zeigt Fehler beim Tippen, schlägt Verbesserungen vor und benennt Funktionen im ganzen Projekt sicher um. Wer aus dieser Umgebung kommt, versteht schnell, warum TypeScript im Web so erfolgreich wurde: Es bringt dieselbe Arbeitsweise dorthin, und beide stammen vom selben Chefentwickler, Anders Hejlsberg.

Wozu wird C# verwendet?

C# ist die Hausmacht in Unternehmen mit Microsoft-Umfeld, also überall dort, wo Windows-Arbeitsplätze, Active Directory und SQL Server ohnehin laufen. Dort fügt sich eine .NET-Anwendung ohne Umwege ein, von der Anmeldung mit dem Windows-Konto bis zum Datenbankzugriff. Typische Einsatzgebiete sind:

  • Fachanwendungen, die es fertig nicht zu kaufen gibt: Verwaltungen für Aufträge, Maschinen oder Prüfprotokolle
  • Server-Backends und Schnittstellen, die Daten zwischen Systemen austauschen und Auswertungen erzeugen
  • Hintergrunddienste, die nachts Importe fahren oder Berichte erstellen
  • Web-Oberflächen mit Blazor, die komplett in C# entstehen
  • Spiele mit der Engine Unity, die C# als Skriptsprache nutzt

Wir setzen C# und .NET für Fachanwendungen am Arbeitsplatz und die Schnittstellen dahinter ein, meist mit einem SQL Server als Datenhaltung. Solche Programme sind selten spektakulär, aber sie tragen den Alltag eines Betriebs: Aufträge erfassen, Protokolle ablegen, Auswertungen für die Geschäftsführung erzeugen. Was wir dabei anbieten, steht auf unserer Seite zur C#-Entwicklung.

Die Geschichte von C#

C# entstand Ende der 1990er bei Microsoft unter der Leitung von Anders Hejlsberg, der zuvor bereits Turbo Pascal und Delphi geprägt hatte. Die erste Version erschien 2002 zusammen mit dem .NET Framework und war Microsofts Antwort auf Java: eine moderne, geprüfte Sprache für Unternehmenssoftware, damals allerdings fest mit Windows verwachsen. Die eigentliche Wende kam ein gutes Jahrzehnt später, als Microsoft die Plattform öffnete und auf Linux brachte.

Erschienen
2002 mit dem .NET Framework
Entwickelt von
Microsoft, Team um Anders Hejlsberg
Lizenz
.NET quelloffen unter MIT
Läuft auf
Windows, Linux und macOS
Typische Einsätze
Fachanwendungen, Server-Backends, Unity-Spiele

Von Windows in die Cloud

Hände auf einer Tastatur vor einem Bildschirm mit Code

Der Start

C# erscheint zusammen mit dem .NET Framework als Microsofts Sprache für Unternehmenssoftware. Sie läuft ausschließlich auf Windows und wächst dort schnell zur festen Größe.

2002

Was C# nicht kann

C# kann technisch fast alles, und genau darin liegt die Gefahr: Es ist nicht für jedes Vorhaben die wirtschaftliche Wahl. Die ehrlichen Grenzen liegen weniger in der Technik als im Aufwand:

  • Für eine Firmenwebseite oder einen Shop ist es der falsche Griff: mit PHP oder JavaScript gibt es schneller ein Ergebnis und mehr Auswahl bei der Pflege
  • Für kleine Skripte ist der Aufwand zu hoch: ein Datei-Import, der einmal am Tag läuft, ist in Python schneller geschrieben
  • Klassische Desktop-Oberflächen mit WPF oder WinForms bleiben an Windows gebunden
  • Außerhalb des Microsoft-Umfelds ist die Auswahl an Entwicklern kleiner als bei PHP oder JavaScript

Die Grenze verläuft also nicht zwischen können und nicht können, sondern zwischen passend und unpassend. C# spielt seine Stärken aus, wenn Software lange leben, viele Daten sauber verarbeiten und sich in eine Microsoft-Landschaft einfügen soll.

C# oder Java?

Die beiden Sprachen sind sich näher als jedes andere Paar in dieser Größenordnung. Beide sind streng geprüft, laufen in einer Laufzeitumgebung und sind auf langlebige Unternehmenssoftware ausgelegt. C# entstand 2002 ausdrücklich als Microsofts Antwort auf Java, hat seither aber ein eigenes Profil entwickelt und bekommt Sprachneuerungen meist früher. Die Entscheidung fällt selten über Sprachdetails, sondern über das Umfeld:

  • C#, wenn das Unternehmen mit Windows, Active Directory, SQL Server und Microsoft 365 arbeitet
  • C#, wenn Spiele mit Unity oder Web-Oberflächen mit Blazor geplant sind
  • Java, wenn bestehende Systeme bereits darauf laufen oder native Android-Entwicklung im Vordergrund steht
  • Java, wenn die Hausentwickler und Dienstleister aus der Java-Welt kommen

Technisch lässt sich fast jedes Vorhaben mit beiden umsetzen, und wer behauptet, die eine Sprache sei der anderen klar überlegen, verkauft meist nur, was er selbst am besten kann. Die ehrliche Antwort lautet: Nehmt die Sprache, die zu eurer vorhandenen Landschaft und euren Leuten passt.

C# aus Kundensicht

Für Auftraggeber ist die wichtigste Eigenschaft von C# die Planbarkeit. Microsoft veröffentlicht jedes Jahr eine neue .NET-Version mit festen, angekündigten Support-Zeiträumen. Wer eine Fachanwendung beauftragt, weiß also heute schon, wann das Fundament ein Update braucht, und kann die Pflege budgetieren, statt von ihr überrascht zu werden. Die Sprache und die Plattform selbst kosten nichts, sie sind quelloffen.

Zwei Punkte gehören trotzdem in jede ehrliche Beratung. Erstens: Eine Fachanwendung bindet euch immer an ihren Hersteller stärker als Standardsoftware, deshalb solltet ihr auf Herausgabe des Quellcodes und Dokumentation bestehen. Zweitens: Auch wenn .NET auf Linux läuft, entstehen die Vorteile vor allem im Microsoft-Umfeld. Wer dort nicht zu Hause ist, sollte die Wahl der Plattform in einer Beratung offen gegenrechnen lassen, statt sie als gesetzt zu übernehmen.

Ist C# die Zukunft?

C# gehört zu den wenigen Sprachen, deren Zukunft man mit ruhiger Hand vorhersagen kann. Microsoft baut sein eigenes Geschäft darauf, ein großer Teil der Unternehmenssoftware weltweit läuft darauf, und die jährlichen Versionen zeigen eine Plattform, in die weiter investiert wird. Eine Sprache in dieser Lage verschwindet nicht, sie altert höchstens in Würde, und danach sieht es derzeit nicht aus.

Spannend ist eher, wie C# sein Revier ausweitet. Mit Blazor laufen C#-Oberflächen im Browser, mit MAUI entstehen Apps für mehrere Plattformen aus einer Codebasis, und in der Cloud ist .NET bei allen großen Anbietern eine Selbstverständlichkeit. Die Zeiten, in denen die Sprache an Windows gefesselt war, sind Geschichte.

Für Unternehmen heißt das: Eine Investition in eine .NET-Anwendung ist eine der sichersten Wetten, die man in der Softwareentwicklung abschließen kann. Wichtig ist nur, auf aktuellen Versionen zu bleiben, denn alte .NET-Stände ohne Sicherheitsupdates sind dasselbe Risiko wie überall sonst.

Was C# stark macht

Bildschirm mit einem Dashboard voller Diagramme und Kennzahlen

Streng geprüft

Der Compiler kontrolliert das ganze Programm vor dem Start. Fehler, die anderswo erst im Betrieb auffallen, kommen hier gar nicht durch.

Bildschirm mit einer Tabellenansicht voller Datensätze

Zu Hause bei Microsoft

Anmeldung über das Windows-Konto, Daten im SQL Server, Betrieb in Azure: Im Microsoft-Umfeld fügt sich .NET ohne Umwege ein.

Bildschirm mit zwei Anwendungen, die über Pfeile verbunden sind

Verbindet Systeme

Schnittstellen und Hintergrunddienste in C# tauschen Daten zwischen Warenwirtschaft, Datenbank und Auswertung, zuverlässig und über Jahre.

Bildschirm mit einer Liste erledigter Aktualisierungen

Planbare Pflege

Jedes Jahr eine neue Version mit festen Support-Zeiträumen. Updates lassen sich budgetieren, statt als Notfall aufzutauchen.

Was wir mit C# bauen

Mit C# und .NET bauen wir die Software, die im Hintergrund den Betrieb trägt. Drei Bereiche aus unserer Arbeit.

  • Laptop mit einer Anmeldemaske für ein Kundenportal

    Webanwendungen

    Fachanwendungen und Portale mit .NET-Backend: Aufträge, Protokolle und Auswertungen, genau auf den eigenen Ablauf zugeschnitten.
  • Schaubild mit einem Wolkensymbol, das mit Servern und Geräten verbunden ist

    Cloud

    .NET-Dienste in Containern bei Azure oder anderen Anbietern betreiben, ohne Windows-Lizenzen und mit planbaren Kosten.
  • Laptop auf einem Schreibtisch, daneben eine Tasse und ein Headset

    Beratung

    Bestehende .NET-Anwendungen prüfen: Welche Version läuft, was ist zu tun, lohnt Weiterentwicklung oder Neubau. Ehrlich gerechnet.

Häufige Fragen

Warum heißt die Sprache C#?

Der Name spielt auf die Musik an: Das Kreuz erhöht eine Note um einen Halbton, C# ist also ein erhöhtes C. Gemeint ist eine Weiterentwicklung der Sprachfamilie rund um C und C++. Gesprochen wird es C Sharp.

Ist C# kostenlos?

Ja. Die Sprache, die .NET-Plattform und die Entwicklungswerkzeuge sind quelloffen beziehungsweise kostenlos erhältlich, auch für den Firmeneinsatz. Kosten entstehen durch Entwicklungszeit und Betrieb, nicht durch Lizenzen für die Sprache.

Ist C# das Gleiche wie C oder C++?

Nein, es sind drei verschiedene Sprachen. C und C++ sind älter, arbeiten näher an der Hardware und verlangen eigene Speicherverwaltung. C# nimmt einem diese Arbeit ab und ist auf Anwendungs- und Unternehmenssoftware ausgelegt. Verwandt sind sie nur in der Schreibweise.

Ist C# schwer zu lernen?

Der Einstieg ist gut machbar, die Sprache ist klar aufgebaut und die Lernmaterialien von Microsoft sind ausführlich. Die Strenge des Compilers hilft Anfängern sogar, weil Fehler sofort erklärt werden. Umfangreich wird es erst beim Ökosystem drumherum, das über Jahre gewachsen ist.

Kann man mit C# Apps entwickeln?

Ja. Mit MAUI entstehen Apps für Android, iOS und Windows aus einer Codebasis, und die Spiele-Engine Unity nutzt C# ohnehin. Für reine Mobil-Projekte vergleichen wir trotzdem immer mit React Native, denn die beste Wahl hängt am Vorhaben und am vorhandenen Wissen im Haus.

Wer nutzt C#?

Microsoft selbst, dazu unzählige Unternehmen, deren Fachanwendungen und interne Systeme auf .NET laufen, von der Versicherung bis zum Maschinenbauer. Auch ein großer Teil der Spieleindustrie schreibt C#, weil die Engine Unity darauf setzt. Öffentlich sichtbar ist davon wenig, denn das meiste läuft hinter Firmentüren.

Weiterlesen

  • Hand hält ein Smartphone mit einer Auswertungsansicht

    Was ist .NET MAUI?

    Mit .NET MAUI entstehen Apps für Android, iOS, Windows und macOS aus einem einzigen C#-Projekt. Woher das Framework kommt, was es von React Native unterscheidet und wann es sich lohnt, verständlich erklärt.
  • Editor mit geöffnetem Projekt und Dateibaum

    Was ist Blazor?

    Mit Blazor entstehen Weboberflächen in C# statt in JavaScript. Für wen sich das lohnt, wie die zwei Betriebsarten funktionieren und wann React die bessere Wahl ist, verständlich erklärt.
  • Schreibtisch mit Laptop, Tasse und Notizblock

    Was ist Payload?

    Payload ist ein Headless-CMS in TypeScript, das direkt in einer Next.js-Anwendung mitläuft: Webseite und Inhalte sind ein Projekt. Wie das funktioniert, woher es kommt und wann Strapi oder WordPress besser passen, verständlich erklärt.

Kontakt und kostenlose Beratung

Hände tippen auf einer Laptop-Tastatur, daneben eine Tasse Kaffee
Telefon0208 78015410E-Mailinfo@akinware.com
Adresse
Huyssenstraße 6G, 46119 Oberhausen
Worum geht es