Programmiersprachen einfach erklärt

Programmiersprachen einfach erklärt
Programmiersprachen einfach erklärt
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Eine Programmiersprache ist eine formale Sprache, mit der du Rechenvorschriften für einen Computer formulierst. Sie gibt vor, welche Schreibweisen erlaubt sind und wie daraus ein ausführbares Programm entsteht.

Auf dieser Seite lernst du den Weg vom Quelltext zur Ausführung kennen. Außerdem unterscheidest du wichtige Sprachbestandteile, Ausführungsmodelle und Programmierparadigmen.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Was macht eine Programmiersprache aus?

Ein Computer verarbeitet Maschinenbefehle. Für Menschen ist deren binäre Darstellung jedoch schwer zu lesen. Programmiersprachen schaffen deshalb eine verständlichere Ebene zwischen einer Aufgabe und der Maschine.

Definition

Programmiersprache

Eine Programmiersprache ist eine formale Sprache: Für ihre Zeichen, Wörter und Anweisungen gelten genau festgelegte Regeln. Mit ihr beschreibst du Daten und Rechenvorschriften, die ein Computer ausführen kann.

Die erlaubten Schreibmuster heißen Syntax. Ein fehlendes Zeichen oder eine falsch angeordnete Anweisung kann dazu führen, dass ein Programm nicht übersetzt oder ausgeführt wird. Welche Schreibweise richtig ist, hängt von der verwendeten Sprache ab.

Programme können textuell oder visuell formuliert werden. In einer visuellen Sprache setzt du beispielsweise Blöcke zusammen. In einer textuellen Sprache schreibst du Anweisungen als Quelltext. Beide Darstellungen können dieselben Grundideen ausdrücken, etwa eine Reihenfolge, eine Bedingung oder eine Wiederholung.

Merke

Eine Programmiersprache ist nicht nur eine Sammlung von Befehlen. Sie legt auch Regeln dafür fest, wie Daten und Anweisungen dargestellt und miteinander verbunden werden.

Teste dich
Frage 1 von 1LeichtWelche Aussage beschreibt eine Programmiersprache am besten?
Lösung: Sie ist eine formale Sprache zum Beschreiben ausführbarer Rechenvorschriften. — Eine Programmiersprache stellt Regeln und Ausdrucksmittel bereit. Ein konkretes Programm wird mithilfe dieser Sprache formuliert.
Wie wird aus Quelltext eine Ausführung?

Der von Menschen geschriebene Quelltext ist für einen Prozessor normalerweise nicht unmittelbar verständlich. Er muss in passende Maschinenbefehle überführt werden.

Der grundlegende Weg lautet:

  1. Du formulierst Anweisungen als Quelltext.
  2. Ein Übersetzungs- oder Ausführungswerkzeug verarbeitet den Quelltext.
  3. Der Computer führt die entsprechenden Maschinenbefehle aus.
  4. Das Programm verarbeitet Eingaben und erzeugt Ausgaben oder verändert gespeicherte Daten.
Definition

Compiler

Ein Compiler übersetzt den Programmtext als Ganzes. Dabei kann direkt Maschinencode oder zunächst ein Zwischencode entstehen.

Definition

Interpreter

Ein Interpreter verarbeitet Anweisungen während der Programmausführung und ordnet ihnen ausführbare Maschinenbefehle zu.

Mischformen sind ebenfalls möglich. Dabei wird Quelltext zuerst in einen Zwischencode übersetzt. Eine Ausführungsumgebung verarbeitet diesen Code später weiter. Bei der Just-in-Time-Kompilierung werden benötigte Abschnitte unmittelbar vor oder während der Ausführung übersetzt.

Beispiel

Im Quelltext steht die Anweisung A = B + 100 * C. Der Prozessor kann diese Schreibweise nicht direkt ausführen.

Nehmen wir B = 20 und C = 3 an:

  1. Zuerst wird 100 * C berechnet: 100 * 3 = 300.
  2. Danach wird B addiert: 20 + 300 = 320.
  3. Der Wert 320 wird A zugewiesen.

Ein Compiler oder Interpreter sorgt dafür, dass passende Maschinenbefehle ausgeführt werden. Die genaue Befehlsfolge hängt unter anderem von der Sprache, dem Übersetzungswerkzeug und dem Computersystem ab.

Lückentext

Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.

Der von Menschen geschriebene Programmtext heißt . Ein übersetzt ihn als Ganzes, während ein Anweisungen während der Ausführung verarbeitet.

Lösungen: Lücke 1: Quelltext; Lücke 2: Compiler; Lücke 3: Interpreter. Entscheidend ist der Zeitpunkt: Ein Compiler übersetzt vor der eigentlichen Ausführung als Ganzes; ein Interpreter verarbeitet Anweisungen während des Laufs.
Welche Bausteine besitzen viele Sprachen?

Die Schreibweise unterscheidet sich von Sprache zu Sprache. Viele Programmiersprachen bieten aber ähnliche Grundbausteine.

  • Ein- und Ausgabe: Ein Programm liest Daten ein und gibt Ergebnisse aus.
  • Variablen: Benannte Speicherorte halten Werte fest.
  • Berechnungen und Zuweisungen: Werte werden erzeugt, verändert und gespeichert.
  • Bedingungen: Das Programm entscheidet zwischen verschiedenen Abläufen.
  • Schleifen: Anweisungen werden wiederholt.
  • Unterprogramme oder Funktionen: Ein größerer Ablauf wird in wiederverwendbare Teile zerlegt.
  • Bibliotheken und Module: Bereits entwickelte Funktionen werden eingebunden.
Definition

Datentyp

Ein Datentyp beschreibt, welche Art von Wert verarbeitet wird, etwa eine Ganzzahl, eine Gleitkommazahl, ein einzelnes Zeichen oder eine Zeichenkette.

Bei einer statischen Typprüfung werden Typen bereits während der Übersetzung geprüft. Bei einer dynamischen Typprüfung geschieht die Prüfung während der Laufzeit. Dadurch können manche Typfehler erst beim Ausführen auffallen.

Beispiel

Ein kleines Temperaturprogramm könnte diese Grundideen verbinden:

  1. Es liest einen Messwert ein.
  2. Es speichert den Wert in einer Variablen.
  3. Eine Bedingung prüft, ob ein festgelegter Grenzwert überschritten wurde.
  4. Je nach Ergebnis gibt das Programm eine passende Meldung aus.

Die konkrete Syntax ist austauschbar. Die Konzepte Eingabe, Variable, Bedingung und Ausgabe bleiben erhalten.

Teste dich
Frage 1 von 1MittelEin Programm soll zehn Messwerte nacheinander prüfen. Welcher Baustein eignet sich besonders für die wiederholte Prüfung?
Lösung: Eine Schleife — Eine Schleife wiederholt Anweisungen. Innerhalb der Schleife kann eine Bedingung jeden Messwert untersuchen.
Wie unterscheiden sich Programmierparadigmen?

Ein Programmierparadigma ist eine grundlegende Art, Programme und Lösungen zu strukturieren. Eine Sprache kann mehrere Paradigmen unterstützen.

Imperativ: den Lösungsweg angeben

Ein imperatives Programm beschreibt, wie ein Ergebnis entsteht. Es nennt Anweisungen in einer bestimmten Reihenfolge und verwendet beispielsweise Zuweisungen, Bedingungen und Schleifen.

Deklarativ: das gewünschte Ergebnis beschreiben

Ein deklaratives Programm beschreibt, welche Bedingungen das Ergebnis erfüllen soll. Die Ausführungsumgebung entscheidet, wie sie zu diesem Ergebnis gelangt.

Objektorientiert: Daten und Verhalten bündeln

Bei der objektorientierten Programmierung werden zusammengehörige Daten und die darauf arbeitenden Methoden in Objekten beziehungsweise Klassen gebündelt.

Eine Klasse kann einen allgemeinen Bauplan darstellen. Durch Vererbung kann eine spezialisierte Klasse Eigenschaften und Methoden einer allgemeineren Basisklasse übernehmen und ergänzen. Kapselung bedeutet, dass ein Objekt eine festgelegte Schnittstelle anbietet, während interne Einzelheiten verborgen bleiben.

Merke

Imperativ fragt vor allem: „Welche Schritte führen zum Ergebnis?“ Deklarativ fragt: „Welche Bedingungen muss das Ergebnis erfüllen?“ Objektorientierung ordnet Daten und zugehöriges Verhalten gemeinsamen Objekten zu.

Teste dich
Frage 1 von 2MittelEine Beschreibung nennt nur die Bedingungen, die ein Ergebnis erfüllen muss. Welcher Ansatz passt dazu?
Lösung: Der deklarative Ansatz — Beim deklarativen Ansatz steht das gewünschte Ergebnis im Mittelpunkt; der vollständige Ausführungsweg muss nicht angegeben werden.
Frage 2 von 2SchwerEin Programm modelliert Konten mit Daten und passenden Methoden zum Einzahlen und Auszahlen. Welches Paradigma wird dadurch besonders sichtbar?
Lösung: Objektorientierte Programmierung — Das Bündeln zusammengehöriger Daten und Methoden in Objekten ist ein Kennzeichen der Objektorientierung.
Wie wählst du eine passende Sprache aus?

Es gibt keine Programmiersprache, die für jedes Ziel am besten geeignet ist. Eine sinnvolle Wahl beginnt deshalb nicht mit einer Rangliste, sondern mit deiner Aufgabe.

Prüfe diese Fragen:

  1. Was möchtest du entwickeln? Ein Spiel, eine Datenanalyse und eine hardwarenahe Anwendung stellen unterschiedliche Anforderungen.
  2. Wie möchtest du einsteigen? Visuelle Blöcke können Abläufe sichtbar machen; textuelle Sprachen machen die genaue Schreibweise stärker zum Lerngegenstand.
  3. Welche Grundkonzepte willst du lernen? Variablen, Bedingungen, Schleifen, Funktionen und Ein- oder Ausgabe lassen sich in vielen Umgebungen wiederfinden.
  4. Welche Hilfen stehen bereit? Dokumentation, Lernmaterialien und eine aktive Gemeinschaft können das Lernen erleichtern.
  5. Welche weiteren Technologien brauchst du? In echten Projekten arbeitet eine Sprache häufig mit Bibliotheken, Werkzeugen und anderen Technologien als Tech-Stack zusammen.
Gut zu wissen

Die erste Sprache legt deinen späteren Weg nicht fest. Wenn du übertragbare Konzepte verstehst, kannst du sie in anderen Sprachen wiedererkennen. Die neue Syntax musst du trotzdem jeweils lernen.

Teste dich
Frage 1 von 1SchwerEine Anfängerin möchte zuerst Reihenfolgen, Bedingungen und Schleifen verstehen, ohne sich stark auf Schreibfehler zu konzentrieren. Welche begründete Wahl passt am besten?
Lösung: Eine visuelle Blocksprache, weil sie Kontrollstrukturen sichtbar zusammensetzen lässt — Eine visuelle Sprache kann den Blick zunächst auf Ablauf und Struktur lenken. Für spätere textuelle Sprachen bleiben die erlernten Grundkonzepte nützlich.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • Programmiersprache
    • Darstellung: textueller Quelltext oder visuelle Blöcke
    • Regeln: Syntax und Datentypen
    • Grundbausteine: Eingabe, Variablen, Bedingungen, Schleifen und Funktionen
    • Ausführung: Compiler, Interpreter oder Mischform
    • Paradigmen: imperativ, deklarativ und objektorientiert
    • Auswahl: Lernziel, Einsatzgebiet, Zugänglichkeit und Werkzeuge
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWas ist Quelltext?
Lösung: Der von Menschen formulierte Programmtext — Quelltext enthält die Anweisungen in der verwendeten Programmier- oder visuellen Sprache.
Frage 2 von 3MittelWelche Zuordnung ist richtig?
Lösung: Compiler: Übersetzung als Ganzes; Interpreter: Verarbeitung während der Ausführung — Compiler und Interpreter unterscheiden sich vor allem darin, wann und wie sie Quelltext in ausführbare Vorgänge überführen.
Frage 3 von 3SchwerZwei Sprachen verwenden unterschiedliche Schreibweisen, besitzen aber beide Variablen, Bedingungen und Schleifen. Welche Schlussfolgerung ist begründet?
Lösung: Die erlernten Grundkonzepte können beim Wechsel helfen, obwohl die neue Syntax gelernt werden muss. — Grundkonzepte sind übertragbar. Eine neue Sprache kann sie jedoch anders schreiben, prüfen oder ausführen.

Du hast den Kern verstanden, wenn du den Weg Quelltext → Übersetzung oder Interpretation → Maschinenbefehle → Ausführung erklären und eine Sprache passend zu einer konkreten Aufgabe auswählen kannst.

Passend dazu