Kombinieren und Einschalten in C
Maschinen
Maschinen sind Geräte, die mit ihrer Umwelt in eine Interaktion treten können (offene physikalische Systeme). Man denke etwa an einen Plattenspieler, der gerade eine Schallplatte abspielt und dadurch die Luft in seiner Umgebung in Schwingungen versetzt.
Oft ist es nützlich, eine komplexe Maschinen zur besseren Wiederverwendbarkeit in zwei Teile zu zerlegen, wie beispielsweise den Schallplattenspieler und die Schallplatte. Durch Austauschen der Schallplatte kann man dann den Plattenspieler wiederverwenden. (Ähnlich: Bohrmaschine - Bohrfutter, Lampe - Glühbirne, Telefon - SIM-Karte, Spieluhr - Walze, Kamera - Film, Kassettenrekorder - Kassette u.s.w.).
Die Zerlegung erfolgt meist in einen komplexen Teil (den Schallplattenspieler) und einen austauschbaren einfachen Teil (die Schallplatte).
- Das Abspielen einer Schallplatte durch einen Plattenspieler
.----------------------------------------.
| .----------------. .------------. | Maschine aus Plattenspieler und Schallplatte
| | Plattenspieler |<---( Schallplatte ) |
| '----------------' '------------' |
'----------------------------------------'
|
V
\ /
- Abspielvorgang -
/ \|
V
Musik
Wir nennen den komplexen Teil solch einer Zerlegung auch eine Operation und den austauschbaren Teil Komplement.
Eine solche Maschine, die aus einer Operation und einem Komplement zusammengesetzt wurde, wird auch als eine Inkarnation bezeichet. Man nennt sie auch „eine Inkarnation der Operation“ – Man denke hierbei an einen mit einer bestimmten Schallplatte bestückten Plattenspieler.
Eine Maschine kann ruhen oder laufen. – Man denke an einen Plattenspieler, der zwar schon mit einer Schallplatte bestückt ist, sie aber noch nicht abspielt sowie einen Plattenspieler, der mit einer Schallplatte bestückt ist und sie auch gerade abspielt.
Das Geschehen beim Lauf der Maschine (Laufzeitgeschehen ) nennen wir auch eine Interaktion (eine Wechselwirkung zwischen Maschine und ihrer Umgebung).
- Ein laufende Maschine bestehend aus Operation und Komplement
.---------------------------------.
| .-----------. .----------. | Maschine aus Operation und Komplement,
| | Operation |<---( Komplement ) | eine Inkarnation der Operation
| '-----------' '----------' |
'---------------------------------'
|
V
\ /
- Interaktion -
/ \
|
V
Ausgabe
In diesem Kurs verstehen wir unter einer Maschine ein Gerät, das startfertig ist und nur noch eingeschaltet werden muß.
In der Regel wird solch eine Maschine aus einer Operation und einem Komplement kombiniert.
Ein Operation kann noch recht allgemein sein, sie wird dann durch das Komplement spezialisiert.
Implementationen
Ein Programm auszuführen, bedeutet, das zu tun, was das Programm gemäß der Semantik seiner Programmiersprache verlangt.
Eine C-Implementation (ein C-Ausführer ) kann C -Programme ausführen.
Eine C -Implementation ist eine Operation, die ein C -Programm als Komplement akzeptiert. Die Kombination aus einer C -Implementation und einem C -Programm bildet eine lauffähige Maschine. Eine C-Implementation ist sozusagen der „Plattenspieler“ für eine aus dem C -Programm bestehende Schallplatte.
- Eine Implementation, die gerade ein Programm ausführt
.------------------------------------.
| .----------------. .--------. | Maschine aus Implementation und Programm
| | Implementation |<---( Programm ) |
| '----------------' '--------' |
'------------------------------------'
|
V
\ /
- Interaktion -
/ \
|
V
Wirkung
¤ Die Ausführung eines Programms besteht aus dem Laden und dem Starten des Programms. Beim Laden wird das Programm mit der Implementation verbunden. Danach wird das Programm gestartet, indem die erzeugte Verbindung aus Implementation und Programm gestartet wird.
Man kann eine Implementation auch mit einem Koch vergleichen, der etwas nach einem Kochrezept (Programm) kocht.
- Das Kochen eines Gerichtes durch einen Koch
.----------------------------.
| .------. .----------. | Eine laufende Inkarnation eines Kochs
| | Koch |<---( Kochrezept ) |
| '------' '----------' |
'----------------------------'
|
V
\ /
- Kochvorgang -
/ \
|
V
Gericht
Wenn eine C -Implementation das tut, was ein Programm von ihr verlangt, also das Programm ausführt, sagt man auch, daß das Programm laufe oder ablaufe. Die Veranlassung des Ablaufs eines Programms wird Starten des Programms genannt.
Die Zeit, zu der ein Programm ausgeführt wird, nennt man auch die Laufzeit des Programms. Wenn man sagt, daß etwas zur Laufzeit passiert, so meint man damit, daß es bei der Ausführung des Programms passiert.
Programmieren ist das Schreiben von Programmen, also die Steuerung einer Implementation durch zuvor geschriebene Textdateien.
Ein Text, der als C -Programm ausgeführt werden soll, wird von einer C -Implementation vor der Ausführung auf Fehler geprüft, dafür zuständig ist ein Programm, welches Compiler oder Übersetzer genannt wird. Man sagt auch daß ein Programm kompiliert werde, wenn es vom Compiler geprüft wird.
Ein Compiler ist aber keine Implementation, da er ein Programm nur prüft, aber nicht ausführt.
Oft wird ein C -Programm von einem Compiler auch in eine andere Programmiersprache, den sogenannten Bytecode, übersetzt. Dann bildet der Compiler zusammenen mit einer ByteCode-Implementation eine C -Implementation. Ein C-Programm wird dabei dann ausgeführt, indem es zuerst übersetzt und dann die Übersetzung ausgeführt wird.
Entwicklungssysteme
Das Schreiben eines Programms wird auch als Entwicklung des Programms bezeichnet.
Ein C -Entwicklungssystem (auch C -Entwicklungsumgebung genannt) ist ein System, das zum Entwickeln von C -Programmen dient, es enthält in der Regel einen Texteditor, um Programme eingeben und abspeichern zu können, und eine C -Implementation, um die Programme starten zu können.
Entwicklungssystem = Editor + Implementation