Was ist C#
Kurz gesagt: C# ist die Sprache der .NET-Plattform für Spiele mit Unity, das Web mit ASP.NET Core und Windows-Anwendungen: Der Code wird zu IL kompiliert, und .NET führt ihn aus.
Problem
Warum C#
Es gibt Hunderte von Programmiersprachen. Jede ist für etwas gut, aber nicht für alles gleich gut. Bevor du Monate mit einer von ihnen verbringst, solltest du wissen, wo du sie einsetzen wirst.
C# (gesprochen „C sharp“) ist die Sprache der .NET-Plattform von Microsoft:
- Spiele mit Unity: Unity-Skripte schreibt man in C#, von kleinen Handyspielen bis zu großen Titeln;
- Websites und Webdienste mit ASP.NET Core;
- Windows-Anwendungen: von Buchhaltungssoftware bis zu Bürowerkzeugen;
- Clouddienste, vor allem in Azure, der Cloud von Microsoft.
C# gibt es seit 2000, und es entwickelt sich schnell: Fast jedes Jahr erscheint eine neue Version mit neuen Möglichkeiten.
Die Idee
Vom Text zum Programm
Das Programm, das du schreibst, ist normaler Text in einer Datei. Hier ist ein ganzes Programm:
class Program{ static void Main() { Console.WriteLine("Bestellung Nr. 1024 wurde angenommen."); }}Bestellung Nr. 1024 wurde angenommen.Mach dir um die Wörter darin vorerst keine Gedanken. Zu ihnen kommen wir in der Lektion „Dein erstes Programm“. Hier geht es um etwas anderes: Der Prozessor des Computers versteht diesen Text nicht. Etwas muss ihn übersetzen.
- Du schreibst den Quellcode in eine Datei namens
Program.cs. - Der C#-Compiler prüft den Text auf Fehler und übersetzt ihn in IL (Intermediate Language): eine Datei mit der Endung
.dll. IL ist für keinen bestimmten Prozessor gemacht. - .NET (genauer: der Teil, der Programme ausführt, die CLR) liest die IL und führt sie auf deinem Computer aus.
Es gibt .NET für Windows, macOS und Linux. Deshalb läuft dasselbe kompilierte Programm auf allen dreien. Das nennt man Plattformunabhängigkeit.
class Program{ static void Main() { Console.WriteLine("Bestellung Nr. 1024 wurde angenommen."); }}Schritt für Schritt, in Worten
- Du schreibst den Quellcode: normalen Text in der Datei Program.cs.
- Der C#-Compiler liest den Text und prüft ihn auf Fehler.
- Heraus kommt IL, eine Datei mit der Endung .dll. Sie ist für keinen bestimmten Prozessor gemacht.
- Dieselbe .dll geht unverändert an Windows, macOS und Linux.
- Die CLR auf jedem System führt die IL aus. Die Ausgabe ist dieselbe.
Genauer, für Neugierige
- Die CLR übersetzt nicht das ganze Programm im Voraus. Sie übersetzt Teile davon in Maschinencode, während das Programm läuft, und optimiert die Teile stärker, die am häufigsten laufen. Das nennt man JIT-Kompilierung (just-in-time).
- Speicher. Jedes Programm belegt Speicher für seine Daten. In Sprachen wie C gibt der Programmierer den Speicher, den er nicht mehr braucht, selbst frei, und wenn er es vergisst oder falsch macht, belegt das Programm immer mehr Speicher oder stürzt ab. C# erledigt das für dich: Der Garbage Collector („Müllsammler“) findet die Daten, die das Programm nicht mehr erreichen kann, und gibt ihren Speicher frei.
- Das alte .NET Framework lief nur unter Windows. Das heutige .NET (ab .NET Core) ist eine eigene Plattform, die überall läuft. Wenn du im Netz Ratschläge zu .NET Framework findest, gelten sie für dich vielleicht nicht.
Die Idee
Was du lernst
Der Kurs besteht aus Modulen. Jedes Modul verwendet nur, was in den Modulen davor vorkam:
- Grundlagen der Sprache: Variablen, Eingabe und Ausgabe, Berechnungen, Bedingungen, Schleifen, Arrays, Text.
- Methoden: Code, den du einmal schreibst und oft aufrufst.
- Klassen und Objekte: deine eigenen Typen, etwa
OrderoderStudent. - Vererbung und Polymorphie: was mehrere Typen gemeinsam haben, an einer Stelle.
- Fehler und Exceptions: was das Programm tut, wenn etwas schiefgeht.
- Web: wie das Internet funktioniert, Websites mit ASP.NET MVC, Dienste mit WebAPI und Desktop-Anwendungen mit WPF.
Neben dem Hauptweg gibt es Spiele und Projekte: ganze Programme, die du Schritt für Schritt baust.
Zwei Dinge, für die C# bekannt ist, bleiben außerhalb dieses Kurses: LINQ (Abfragen über Daten direkt im Code, etwa „die Bestellungen über 100 €, nach Datum sortiert“) und Threads (mehrere Dinge, die das Programm gleichzeitig tut). Nach dem Kurs hast du alles, was du brauchst, um sie selbst zu lernen.
Die Idee
Wie du hier lernst
Jede Lektion ist eine Reihe von Karten, eine Idee pro Karte. Meist beginnt sie mit einem Problem aus dem echten Leben und zeigt dann, was wirklich passiert, oft mit einer Animation neben dem Code. Danach kommt eine kleine Aufgabe: die Ausgabe vorhersagen, das Fehlende ergänzen, den Fehler finden. Am Ende gibt es eine Übung, die du in deinem eigenen Editor löst, und einen kurzen Test.
Dein Fortschritt wird im Browser gespeichert: Die Lektion macht bei der Karte weiter, bis zu der du gekommen bist.
Die Karte des ganzen Kurses ist auf der Startseite des Kurses.
Überspring die Übungen nicht. Code lesen und Code schreiben sind verschiedene Fähigkeiten, und die zweite kommt nur vom Schreiben.
Die Idee
Fehler gehören zur Arbeit
Deine ersten Programme werden sich oft nicht kompilieren lassen. Du wirst ein Semikolon, ein Anführungszeichen oder eine geschweifte Klammer vergessen, und der Compiler wird sich weigern.
Das ist keine Note für dich. Die Fehlermeldung ist da, um zu helfen: Sie sagt dir, in welcher Zeile das Problem liegt und was es ist. Erfahrene Programmierer sehen diese Meldungen auch jeden Tag. Der Unterschied ist, dass sie gelernt haben, sie ruhig zu lesen. Wir fangen schon in der allerersten Lektion mit Code an, sie zu lesen.
Wenn etwas lange nicht klappen will, lass es liegen und komm etwas später zurück. Oft siehst du den Fehler sofort, wenn du noch einmal hinschaust.
Kurz gesagt
Kurz gesagt
- C# wird für Spiele mit Unity, das Web mit ASP.NET Core, Windows-Anwendungen und die Cloud eingesetzt.
- Der Quellcode (
Program.cs) wird zu IL (.dll) kompiliert, und .NET führt ihn auf jedem System aus. - Speicher gibt der Garbage Collector automatisch frei.
- Der Kurs besteht aus Modulen, jede Lektion aus Karten. Die Übungen machst du in deinem eigenen Editor.
- Eine Fehlermeldung ist Hilfe, keine Note.
Als Nächstes machst du deinen Computer bereit: was du installieren musst, um dein erstes Programm zu starten.