· 

Programmiervokabeln

Im Folgenden sind einige wichtige Vokabeln aufgelistet, die du im Zusammenhang mit der Programmierung benötigst. 


Algorithmus

Ein Algorithmus ist eine fest definierte und endliche Vorgehensweise, mit der ein Problem gelöst werden kann. Ein Algorithmus besitzt folgende Eigenschaften:

  • Eindeutigkeit Ein Algorithmus muss eindeutig sein. Er darf keine widersprüchliche Beschreibung besitzen oder Schritte definieren, die logisch nicht miteinander vereinbar sind.
  • Finitheit Der Algorithmus muss mit endlich vielen Worten und Zeichen beschrieben werden können. Finitheit bezieht sich hier also auf die Endlichkeit der Beschreibung des Algorithmus.
  • Terminierung Neben der Finitheit muss ein Algorithmus in endlich vielen Schritten terminieren (d. h. irgendwann muss er zu einem Ende kommen) und ein Ergebnis liefern. Wann und ob ein Programm jemals aufhört zu rechnen, kann man paradoxerweise aber nicht mit einem Algorithmus ermitteln. Das ist das sogenannte Halteproblem, zu dem noch ein separates Video folgen wird.
  • Determinismus Es muss zu jedem Zeitpunkt in der Abarbeitung klar sein, welcher Schritt als nächstes folgt. Es besteht also bei jedem Schritt höchstens ein Folgeschritt.
  • Determiniertheit Auch wenn die Begriffe Determinismus und Determiniertheit ähnlich klingen, meint Determiniertheit etwas anderes, nämlich dass bei der gleichen Eingabe in den Algorithmus das gleiche Ergebnis herauskommt. Wenn du also den Algorithmus zum Addieren zweier Zahlen auf 5 und 2 anwendest, dann muss, wenn du das 100 mal machst auch 100 mal 7 als Ergebnis herauskommen!
  • Ausführbarkeit Die einzelnen Schritte im Algorithmus müssen - für Mensch oder Maschine - verständlich formuliert und ausführbar sein.

Bytecode

Bytecode entsteht bei der Kompilierung. Der Quellcode eines Programmes wird dabei nicht direkt in eine maschinenlesbare Form umgewandelt. Dadurch ist er maschinenunabhängig und es entsteht eine kompaktere Darstellung des ursprünglichen Quellcodes. Die Ausführung des Bytecodes wird durch eine vom Rechner abhängige virtuelle Maschine realisiert.


Code

Code ist das, was man schreibt, um mit dem Computer zu kommunizieren. Die Gesamtheit des Codes eines Programms ist der Quellcode.


Code-Snippet

Kleine Code-Schnipsel, die meistens ein sehr spezifisches Problem (z. B. die Implementierung einer if-Anweisung in einer bestimmten Programmiersprache) lösen, nennt man Code-Snippets. Gute Code-Snippets findet man auf StackOverflow. Dort kannst du außerdem selbst Fragen stellen und Antworten geben, um Reputation im Programmierumfeld zu sammeln.


Compiler

Der Compiler ist ein Programm, das den Quelltext eines Programms in eine für den Rechner verständliche Sprache (aus Einsen und Nullen) übersetzt. Im Gegensatz zum Interpreter findet die Ausführung der einzelnen Schritte losgelöst von der Übersetzung statt. Der Compiler übersetzt den gesamten Quellcode, der dann (als Ganzes) ausgeführt werden kann.


Compilezeit

Die Compilezeit ist der Zeitraum, in dem der Compiler den Quellcode eines Programms übersetzt. Die Compilezeit findet vor der Laufzeit des Programms statt.


Datentyp

In der Programmierung hantiert man mit unterschiedlichen Werten. Dazu gehören z. B. einzelne Zeichen, Zeichenketten, Ganzzahlen, Gleitkommazahlen, Wahrheitswerte und viele mehr. Diese sogenannten Datentypen tauchen in allen Programmiersprachen auf und müssen in einigen Sprachen explizit angegeben werden. In Java kennzeichnet man einzelne Zeichen als Character, Zeichenketten als Strings, Ganzzahlen als Integer, Gleitkommazahlen durch Double oder Float und Wahrheitswerte als Booleans


Debugging

Debugging (wörtlich übersetzt „Entkäfern“) beschreibt den Prozess der Fehlersuche in einem Programm. Der Begriff wurde im Jahr 1947 aufgrund von Arbeiten am Mark II populär. Damals verursachte eine Motte einen Ausfall eines Computers. Diesen Ausfall nannte man dann „Bug“.


GUI

Die Abkürzung GUI steht für Graphical User Interface. Mit ihnen kommst du täglich in Berührung. Hierbei handelt es sich nämlich einfach um die grafische Benutzeroberfläche von Programmen, mit denen die Bedienung erleichtert werden soll.


IDE

Die Abkürzung IDE steht für Integrated Development Environment (also eine integrierte Entwicklungsumgebung). Sie stellt Programmierern eine Sammlung der wichtigsten Programmierwerkzeuge in einer übersichtlichen GUI zur Verfügung. Hierzu gehören neben einem Editor mit Quelltextformatierung und Syntaxhervorhebung, dem Compiler, dem Linker, sowie dem Interpreter auch Tools zum Umgang mit Fehlern (Debugging) und Werkzeuge zum Erstellen graphischer Oberflächen.


Implementierung

Die Implementierung meint die Umsetzung eines Programms bzw. Teile eines Programms. Üblicherweise überlegt man sich zur Lösung eines Problems zunächst einen Algorithmus, entwirft das Programm architektonisch und geht dann in die konkrete Umsetzung. Die Umsetzung ist dann die Implementierung.


Interpreter

Mit einem Interpreter kann ein Programm den Quellcode direkt ausführen, ohne dass er zuvor übersetzt werden muss. Der Interpreter setzt also Routinen direkt im Code um. Eine Übersetzung erfolgt trotzdem, allerdings nicht von der Ausführung getrennt. Beim Interpreter sind die Schritte Übersetzung und Ausführung zusammengefasst (auf jede Codezeile folgt eine Aktion). Die Reihenfolge der einzelnen Schritte ist durch den Quellcode vorgegeben. Der Interpreter eignet sich sehr gut für das Entdeckung von Programmierfehlern.

Kompilierung

Unter der Kompilierung versteht man die Übersetzung eines Programms durch den Compiler.


Laufzeit (Runtime)

Die Laufzeit ist die Lebenszeit des Programms, also der Zeitraum, in dem das Programm ausgeführt wird. Sie findet nach der Compilezeit statt. 


Laufzeit (Zeitkomplexität)

Neben der Laufzeit eines Programms (also dem Zeitraum seiner Ausführung) verwendet man den Begriff der Laufzeit auch zum Beschreiben der Effizienz eines Algorithmus. Dieser Begriff taucht im Kontext von Zeit- und Speicherkomplexitätsanalysen auf. Die Laufzeit gibt hier an, wie lange ein Algorithmus zur Lösung eines Problems benötigt.


Programm

Ein Programm ist nichts anderes als die Darstellung eines Algorithmus in einer für den Computer verständlichen Form. Nähere Informationen findest du in meinem Artikel zu den Begriffen Algorithmus, Programm und Prozess.


Source Code

Source Code ist die englische Übersetzung des Wortes Quellcode. Der Source Code ist also der Text eines Programms in einer Programmiersprache. Der Quellcode ist quasi die Anleitung für ein Programm. Er gibt an, wie das Programm aussieht, was man mit ihm machen kann und bei welcher Interaktion es sich wie zu verhalten hat.


String

String ist ein Datentyp. Strings sind Zeichenketten, die aus keinem oder mindestens einem Zeichen bestehen. Sie werden mit zwei Anführungszeichen definiert, d. h. um den Text auszugebenden Text steht links und rechts jeweils ein Anführungszeichen, also z. B. "Test". In einigen Programmiersprachen reicht aber auch ein einfacher Strich, also z. B. 'Test'.


Syntax

Regelwerk, das angibt, wie ein bestimmtes Sprachelemente in einer Programmiersprache aufgeschrieben werden muss, damit der Compiler (und später auch der Computer) es versteht. 


Variable

Wie in der Schule ist eine Variable ein Platzhalter für einen Wert. Der Wert einer Variable kann z. B. eine Ganzzahl, eine Zeichenkette oder ein Wahrheitswert sein. Die Werte haben einen bestimmten Datentypen und dieser Typ bestimmt den Datentyp, von dem die Variable ist. Anders als in der Schule ist jedoch, dass Ausdrücke wie 

x = x + 1

nicht zu einem mathematischen Widerspruch führen. Das bedeutet einfach nur, dass der Variable x der Wert von x plus 1 zugewiesen werden soll. Links des Gleichheitszeichens steht immer die Variable, der etwas zugewiesen werden soll und rechts der Wert, der zugewiesen werden soll.


Quellcode

Menschenlesbarer Text eines Programms in einer Programmiersprache. Der Quellcode ist quasi die Anleitung für ein Programm. Er gibt an, wie das Programm aussieht, was man mit ihm machen kann und bei welcher Interaktion es sich wie zu verhalten hat.


Virtuelle Maschine

Ein virtuelle Maschine ist eine Software, die vorgibt, ein eigenständiger Rechner zu sein. Dieses Programm, das einen Rechner simuliert, kann auf einem anderen Rechner laufen. Man hat sozusagen einen Rechner auf einem Rechner und kann so z. B. schnell zwischen verschiedenen Betriebssystem hin- und herwechseln, wenn in der virtuellen Maschine bspw. Linux und auf dem Rechner, auf dem die virtuelle Maschine läuft, Windows installiert ist.