Sprachkonzepte
Preprozessor
Operatoren
Kontrollstrukturen
Typen
OOP
Bibliotheken
|
Terminologie
Es ist gerade als Einsteiger oft undurchschaubar, was bestimmte Ausdrücke bedeuten. Manchmal redet man bei dem gleichen Ding von dem einen, manchmal von etwas anderem, manchmal nur in gewissem Kontext von dem einen und manche Ausdrücke sind heutzutags verpönt. Manchmal ist es auch einfach nicht ganz klar, als was man ein Ding nun bezeichnen soll. Auf dieser Internetseite wird versucht, die Terminologie möglichst einzuhalten, eine gewisse Nachsicht wird jedoch erbeten.
Um das Wirrwarr von Ausdrücken ein wenig zu entschärfen gibt es hier eine einfache Auflistung wichtiger Ausdrücke mit einer kleinen Erklärung dazu. In der Informatikerwelt ist fast alles, was mit Programmieren zu tun hat, auf Englisch. Es gibt daher einige Ausdrücke, die explizit in Englisch belassen wurden, denn eine Eindeutschung der Begriffe würde nur Verwirrung stiften. Programmierer benutzen normalerweise die ursprüngliche, englische Variante, deswegen wäre es falsch, auf korrektes Deutsch zu pochen.
| Befehl, Instruktion, Anweisung, Keyword |
| Befehl | Der Terminus Befehl ist heutzutags verpönt. C gilt zwar als sogenannte Befehls-Sprache (siehe Die Sprachen C und C++), allerdings ist Befehl ein alter Ausdruck des heute üblicheren Wortes Instruktion . |
| Instruktion | Eine Instruktion ist im Deutschen der korrekte Terminus für einen Assembler-Befehl: Eine eindeutige Anweisung, was der Prozessor ausführen soll. Aufgrund der Eindeutschung des englischen instruction ist dieser Begriff jedoch auch für C gebräuchlich, aber nicht zu verwechseln mit der Assembler-Instruktion. Bei kurzen Anweisungssequenzen in C wird manchmal von einer Instruktion gesprochen. Insbesondere werden Funktionsaufrufe (meist ohne Rückgabewert und nur wenigen Parametern) im mündlichen Gebrauch als Instruktionen aufgefasst (Man führt eine Instruktion aus , Was bewirkt diese Instruktion? ). In C sollte jedoch der Begriff Anweisung der Instruktion vorgezogen werden. |
| Anweisung | Eine Anweisung in C ist ein Pendant zur Instruktion in Assembler. Grundsätzlich kann man in C alles, was ausführbar ist, als eine Anweisung bezeichnen. Eine Anweisung ist stets etwas, das sequentiell nach einer vorherigen Anweisung folgt. Auch Kontrollstrukturen werden im mündlichen Gebrauch als Anweisungen bezeichnet (Beispielsweise die if-Anweisung) und da Kontrollstrukturen beim Compilieren schlussendlich in einzelne Instruktionen aufgeteilt werden, kann man den Terminus gelten lassen. Der Begriff Anweisung ist eine Übersetzung des englischen Instruction ins Deutsche. |
| Keyword | Ein Keyword ist eine in der Sprache C und C++ fest definierte Zeichenfolge, welche beispielsweise nicht als Name für einen Variable verwendet werden darf. Keywords dienen dem Programmierer dazu, mit mehr oder weniger sinnvollen englischen Ausdrücken anstelle von kryptischen Zeichen zu programmieren. Auf der Keyword-Seite sind sämtliche Keywords zu finden. Hier wird auf die deutsche Bezeichnung Schlüsselwort verzichtet. |
| Funktionseinheiten, Exception Handling |
| Funktion | Eine Funktion bezeichnet eine funktionale Einheit, welche aus den Eingabedaten (welche Parameter genannt werden) mittels definiertem Code Ausgabedaten (sogenannte return-Values) berechnet. Selbst Operatoren (wie beispielsweise Addition, Multiplikation...) können als Funktionen verstanden werden und in C++ sogar selbst ausprogrammiert werden (siehe Operator-Überladung). Durch eine sequentielle Aufreihung und eine Verschachtelung von Funktionen und Operatoren kann jedes gewünschte Programm geschrieben werden. |
| Prozedur | Der Begriff Prozedur wird in C und C++ kaum verwendet. Eine Prozedur bezeichnet schlicht eine Funktion ohne Rückgabewert. In C und C++ ist die Deklaration einer Prozedur genau gleich wie diejenige einer Funktion, nur dass sie als Rückgabetyp das Keyword void verwendet. |
| Interrupt | Der Begriff Interrupt wird in C++ nicht verwendet, allerdings wird er hier der Korrektheit wegen aufgeführt. Ein Interrupt bedeutet zu gut Deutsch eine Unterbrechung des Programmablaufes, was entweder durch die Hardware bewirkt werden kann (beispielsweise aufgrund eines Tastendrucks auf der Tastatur) oder durch das Betriebssystem hervorgerufen werden kann (beispielsweise durch ein Terminierungs-Signal). Man nennt diese beiden Unterbrechungen daher auch Hardware-Interrupt und Software-Interrupt. Solche Unterbrechungen können zu jeder Zeit während eines Programmablaufes auftreten, was man als asynchrone Unterbrechung bezeichnet. Aus diesem Grund werden Hardware- und Software-Interrupts hauptsächlich vom Betriebsystem behandelt, um dem Programmierer einen reibungslosen Programmablauf zu garantieren. Im Gegensatz zu diesen asynchronen Unterbrechungen gibt es die synchronen Unterbrechungen: Die Exceptions. |
| Exception | Eine Exception ist zu gut Deutsch eine Ausnahme. Dieser Begriff ist zu verstehen als eine Situation, die eine besondere Behandlung erfordert. In C++ kann das sogenannte Exception-Handling mit der try-catch-Struktur programmiert werden. Eine Exception wird als synchrone Unterbrechung bezeichnet, da der Programmierer auf Wunsch im Code explizit Exceptions erzwingen kann. Oftmals wird das Exception-Handling als Abfangstruktur für mögliche auftretende Fehler (wie beispielsweise das nicht-erfolgreiche Öffnen von Dateien) verwendet, weswegen es manchmal auch als Fehlerbehandlung bezeichnet wird. Hier werden die englischen Begriffe Exception und Exception-Handling verwendet. |
| Routine | Der Begriff Routine ist zu verstehen als eine beliebige Befehlsfolge, welche jedoch einen in-sich-geschlossenen Charakter hat. Eine Funktion wird manchmals als Routine bezeichnet. Der Terminus wird oftmals verwendet für das Exception-Handling mittels der try-catch-Struktur, wo für jeden Exception-Typ eine Behandlungs-Routine definiert werden kann. Im Unterschied zum Handler bezeichnet eine Routine grundsätzlich immer eine vorliegende, ausprogrammierte Befehlsfolge. |
| Sub-Routine | Der Begriff Sub-Routine wird in C und C++ nicht verwendet und ist hier nur der Vollständigkeit halber aufgeführt. Im eigentlichen Sinne bezeichnet eine Sub-Routine das, was in C und C++ als Funktion bezeichnet wird, allerdings hat eine Sub-Routine den Charakter einer Hilfs-Funktion. In anderen Programmiersprachen wie beispielsweise BASIC gibt es somit für Subroutinen eine eigene Kontrollstruktur (GOSUB), welche einen einfachen Sprung an die Adresse der Subroutine ausführt, ohne jedoch den Kontext der Variablen zu ändern. Nach Abarbeitung der Sub-Routine wird zur aufrufenden Funktion zurückgekehrt. Man könnte sagen, der Aufruf einer Sub-Routine ist ein vereinfachter Funktionsaufruf. |
| Handler | Ein Handler ist zu gut Deutsch eine Behandlung . Der Begriff Handler wird hauptsächlich verwendet für Funktionszeiger, wenn sie für sogenannte Callback-Functions eingesetzt werden. Er wird auch für das Exception-Handling mittels try-catch verwendet. Im Unterschied zur Routine wird der Begriff Handler mit symbolischem Charakter verwendet, da er zum einen für Funktions-Pointer verwendet werden kann, dessen genauer Inhalt nicht zwingend bekannt sein muss, zum anderen, da der Begriff als allgemeiner Überbegriff im Sinne einer beliebigen Behandlung verwendet wird: Das Handling. |
| Symbole, Deklaration, Definition |
| Symbol | Ein Symbol ist der Begriff für einen benannten Speicherort. Mittels einer Deklaration wird festgelegt, wo dieser Speicherort sich befindet, und wie er benannt wird. Jedes Auftreten des Symbols im Programmcode bezeichnet den deklarierten Speicherort. Als Symbol bezeichnet man Variablen und Funktionspointer. |
| Deklaration | Eine Deklaration meint explizit die Festlegung eines Typs zu einem Namen. In einem Header-File sind grundsätzlich Deklarationen zu finden. |
| Definition | Eine Definition meint explizit den zu einem Namen representierten Code oder die durch den Namen adressierten Daten. Im Gegensatz zu Deklarationen sind Definitionen vorwiegend in Implementations-Dateien (.c, .cpp) zu finden. |
|