5.3. Programmiersprachen - Interpreter und Compiler |
![]() |
![]() |
Letztmalig dran rumgefummelt: 03.01.20 07:51:07 |
![]() |
Ein Programm
ist die Umsetzung eines Algorithmus und der zugehörigen Datenbereiche in
eine Programmiersprache. Während Algorithmen relativ allgemein beschrieben
werden können, sind Programme wesentlich konkreter. Nach DIN 44300 ist ein Programm eine „nach den Regeln der verwendeten Programmiersprache festgelegte syntaktische Einheit aus Anweisungen und Vereinbarungen, welche zur Lösung einer Aufgabe notwendige Elemente umfasst“. Eng mit dem Programm verknüpft sind Begriffe wie: Algorithmus, Daten, Datei, Variablen Datentypen, Resultate, Software. Nicht unbedingt ist der Begriff des Programms an den Computer gebunden (wenngleich er heute meist damit im Zusammenhang zu sehen ist!!!), so gibt es Veranstaltungsprogramme, das Fernsehprogramm (wahrscheinlich das bekannteste), selbst der Fahrplan der Bundesbahn repräsentiert ein Programm eine Folge von Schritten (deren Ablauf) nach einer geplanten Reihenfolge. |
|||||||
![]() |
1. Programmiersprachen historisch |
|||||||
![]() |
|
|||||||
![]() |
Quellen:
|
|||||||
![]() |
|
|||||||
![]() |
Jeder, der mit einer Rechenanlage, egal welcher
Größe oder Leistungsfähigkeit, arbeiten will, benötigt dazu eine
Programmiersprache. Sie bildet praktisch die Brücke zwischen moderner
Rechentechnik und ihrer Anwendung. Darunter ist eine eindeutige Sprache zur
Formulierung von Programmen - auch Software genannt - für Rechner zu
verstehen. Bestimmt wird Sie durch eine Gruppe von Symbolen und
Festlegungen, die Art und Reihenfolge angeben, in der Symbole zu einer
Mitteilung kombiniert werden können. Bei der Programmiersprache spricht man
in diesem Zusammenhang von Syntax, Semantik und Pragmatik. Basissprache für
jeden Rechner - ist seine Maschinensprache, die von ihm direkt verstanden
wird. Auf diese Ebene - muss jede andere höhere Programmiersprache übersetzt
werden, ehe sie verarbeitet werden kann. Das erfolgt durch einen sogenannten
Compiler, ein Programm, das in den Rechner eingegeben wird.
Programmiersprachen sind maschinen- bzw. problemorientiert. Eine
maschinenorientierte ist in ihrem Aufbau der Maschinensprache sehr ähnlich
und erfordert nur einfache Übersetzungsarbeiten. Die problemorientierten
Programmiersprachen erlauben eine leichtere, maschinenunabhängige
Formulierung von Programmen. Diese können zum Beispiel direkt in die
Maschinensprache übersetzt weiden. Gegenwärtig spielen solche
problemorientierten Programmiersprachen wie FORTRAN 77 (für
CAD/CAM-Anwendungen), BASIC für einfache Probleme der Datenverarbeitung,
PASCAL, COBOL und MODULA 2 in der Programmierung eine wichtige Rolle. BASIC
beispielsweise hat mit der Einführung von Mikrorechnern weite Verbreitung
gefunden. Fast alle Kleincomputer lassen sich in dieser Sprache
programmieren. Die Grundelemente einer jeden Programmiersprache können im
Selbststudium anhand der jeweiligen Beschreibung der Sprache erlernt werden.
Beherrschen lässt sie sich nur durch praktischen Gebrauch. Unterstützung
bietet dabei ein Compiler, der auch Fehler des Programmierers ermittelt.
Durch diesen Dialog dringt der Programmierer immer tiefer in die Sprache ein
und erlernt schrittweise komplizierte Sprachkonstruktionen. Dabei zeigt
sich: Eine Programmiersprache ist ebenso wie eine Fremdsprache nur durch den
aktiven Gebrauch so zu erlernen, dass man alle ihre Vorzüge umfassend nutzen
kann. Das wiederum hat erhebliches Gewicht, um solche Schlüsseltechnologien
wie die Mikroelektronik mit größerer Effektivität anzuwenden. W. Ollhoff VEB Kombinat Robotron 1986 in Zeitschrift FUNKAMATEUR Heft 5/1986 S. 243 |
1. Programmiersprachen historisch |
![]() |
![]() |
![]() |
![]() |
Die Anfänge der Programmierung gehen weit ins vorletzte Jahrhundert zurück und wurden, oh Wunder, von einer Frau vollzogen. Ada Lovelace - eine Bekannte von Charles Babbage bemühte sich darum, für dessen Analytical Engine eine Berechnungsvorschrift zur | ||||||||
![]() |
|
2. Programmierfehler |
![]() |
![]() |
![]() |
![]() |
Nicht nur für die generelle Computerarbeit - hier, beim Programmieren, gilt ganz besonders der Lehrsatz der Informatik: das Problem sitzt immer vor dem Computer - braucht natürlich seine Zeit, bis das der Teutone so mitkriegt ;-) |
![]() |
Hier unterscheidet man zwischen logischen und syntaktischen Fehlern - die Syntax prüft der Compiler oder Interpreter selbst und mit etwas Erfahrung kann man solcherart Fehler relativ schnell beheben. Logische Fehler sind schon eine Nummer unangenehmer, denn sie verstecken sich mitunter in nicht hinreichend ausgetesteten Programmzweigen |
3. Compiler und Interpreter |
![]() |
![]() |
![]() |
![]() |
Das Ziel ist für beide System das selbe: ein Programm zumindest so lange in Maschinensprache übersetzen und dann abarbeiten, wie es fehlerfrei ist - das erledigen aber beide Systeme auf ganz verschiedene Art und Weise. Während ein Compiler den gesamten Quelltext erstfehlerfrei benötigt, um ihn zu übersetzen, nimmt ein Interpreter sich die Aufgabe schrittweise vor - also Zeile für Zeile. Beide erzeugen einen Code, der von einem Zielprozessor übersetzt werden kann. Nur, wer das wirklich möchte, befasst sich schon an der Stelle mit Mikroprozessoren und Zahlensystemen - Schwerpunkt Binärsystem, aber klar sollte sein: auf absehbare Zeit erledigen diese beiden die gesamte Arbeit, auch dann, wenn sie zwischenzeitlich Controller heißen. | ||||||
![]() |
|
||||||
![]() |
|
4. Anforderungen an ein Programm und an den Programmierer |
![]() |
![]() |
![]() |
![]() |
|
![]() |
5. Programm-Dokumentation |
![]() |
![]() |
![]() |
![]() |
|
![]() |
Pseudocode-Notation |
![]() |
Struktogramme |
![]() |
Beispiel für eine Programm-Dokumentation zum Post'schen Korrespondenzproblem
![]() |
6. Maschinenprogrammierung |
![]() |
![]() |
![]() |
![]() |
|
![]() |
7. Echtzeitverhalten und Echtzeitsysteme |
![]() |
![]() |
![]() |
![]() |
|
![]() |
8. Programmiersysteme an unserer Schule |
![]() |
![]() |
![]() |
![]() |
Die Palette ist relativ groß und zwischenzeitlich decken wir auch alle relevanten Grundsysteme ab - nutzen zwar noch aus alter Gewohnheit imperative Strukturen, lenken aber um auf Objektorientierung sowie Datenbankenanbindung und Webfähigkeit - also Forderungen, wie sie ganz praktisch und aus der Wirtschaft gestellt werden. | |||||||||||||||
![]() |
|
9. Verwandte Themen |
![]() |
![]() |
![]() |
![]() |
Im Begriff Wide-Aera Network läuft ja nun eigentlich technisch die gesamte Informatik zusammen - können und wollen wir gar nicht alles bedienen - aber einiges haben wir und stellen es als Denkanstoß auf diesen Links zur Verfügung. Schnell ist man natürlich im Innenleben der Netzwerke - nur für ganz harte Burschen geeignet ;-) | |||||||||||||||||||||
![]() |
|
|||||||||||||||||||||
![]() |
|
|||||||||||||||||||||
![]() |
|
|||||||||||||||||||||
![]() |
|
|||||||||||||||||||||
![]() |
|
|||||||||||||||||||||
![]() |
|
|||||||||||||||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost im Juni 2006 |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |
Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-) |