5.3. Programmiersprachen - Interpreter und Compiler history menue Letztmalig dran rumgefummelt: 06.05.19 18:31:05
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
2. Programmfehler
3. Compiler und/oder Interpreter
4. Laufzeitverhalten
5. Programm-Dokumentation
6. Maschinenprogrammierung
7. Echtzeitverhalten und Echtzeitsysteme
8. Programmiersysteme an unserer Schule
9. Verwandte Themen

die Informatikseiten

Programmiersprachen-Logo

begrenzt verwendbar - selbst aufpassen, ab welcher Stelle es Blödsinn wird ;-)

Wissen für Fortgeschrittene der Informatik

Informatik-Profi-Wissen

Quellen:

Algorithmentheorie

Komplexität, Mächtigkeit und Aufwand

NP-vollständige sowie NP-schwere Probleme

Probleme & Problemlösungsverfahren

die Komplexität eines Problems & Komplexitätsklassen

Worst-Case-Denken

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 history menue scroll up

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
       

Stammbaum der Programmiersprachen

 

derzeit aktuelle Programmiersprachen

Python

 

Java-Script


2. Programmierfehler history menue scroll up
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 history menue scroll up
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.

baute den ersten praktisch anwendbarenCompiler: Hopper, Grace

 

Was ist eigentlich ein Compiler?

Was ist eigentlich ein Interpreter?

Logo für die Compiler-Systeme

Logo für die Interpreter-Systeme

Wesen des Compilersystems:

Ist eine hochkomplexe "Übersetzungsvorschrift, welche das gesamte Programm in einem Block in hexadezimalen Code zu übersetzen versucht und diesen auf einem separaten Speicherbereich des Rechners hinterlegt.
In der Praxis wird auf Hochsystemen zusätzlich noch eine startbare Datei generiert bzw. Scriptanweisungen für einen evtl. entfernt laufenden Server, welche auch später ohne neuen Compilerlauf wieder gestartet werden können

Vorteile des Compilersystems:

ist der Programmcode einmal generiert, so erfolgt die Abarbeitung "schnell" und das Übersetzungssystem ist

 

4. Anforderungen an ein Programm und an den Programmierer history menue scroll up
 
 

5. Programm-Dokumentation history menue scroll up
 
Pseudocode-Notation
Struktogramme
Beispiel für eine Programm-Dokumentation zum Post'schen Korrespondenzproblem hier

6. Maschinenprogrammierung history menue scroll up

 
 


7. Echtzeitverhalten und Echtzeitsysteme history menue scroll up

 
 


8. Programmiersysteme an unserer Schule history menue scroll up

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.

... Delphi - heute RAD-Studio

klassische BASIC-Programmierung - der Wissensspeicher

... der AVM - BASCOM-Compiler

PASCAL-Programmierung

... der Microsoft- VCBA-BASIC Interpreter

... das alte KC-85/X-BASIC

brandneu 2004 im Hause - JAVA

... fast nur bei uns: Just Anather Lanuage

PROLOG-Programmierung seit 2007 - aber dann noch nicht wirklich

... das Programmiersystem für Anfänger - Robot Karol

Scratch

       


9. Verwandte Themen history menue scroll up

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 ;-)
Bereich höhere Programmiersprachen

Worst-Case-Denken

ASide-Assembler

 
Bereich Datenübertragung

Datenübertragungsverfahren

OSI Referenz-Schichtenmodell

die RS232-Schnitttstelle

Tabelle des UNICODES

Kryptologie

Digitale Signale

Information, Nachricht und Signalbegriff

 

   
Bereich Netzwerke und Sicherheitstechnik

Secuirty-Syteme in Netzwerken

Server-Management

Local Area Network - kurz: LAN

Netzwerkdienste

Netzwerk-Management

OSI Referenz-Layer

Netzwer-Topologie

Terminalserver

 
Bereich Mikroprozessortechnik und Einchipcontroller

der LC-80

POLYCOMPUTER

Z80-CPU

Mnemonic-Code-Notation

höhere Programmierwerkzeuge

... und so funktioniert ein Computer

 

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Alphabetisch sortierte Dokumentation

FLAG Teile I

FLAG Teile 2

Allgemeine Funktionssymbolik

Der LC-80 Simulator

Microcontroller

   
Bereich Pädagogik & Informatik

Informatikunterricht

Leitlinien und Prinzipien des Informatikunterrichts

Paradigmen des Informatikunterrichts

Pädagogik, Fachdidaktik sowie Methodik der Informatik

Medienkompetenz oder informatische Bildung

Informatik-Projekte am Gymnasium Flöha

Bereich Programmierungstechnik

Programme

Programmierung

Software-Engeneering

Datentypen - sind ja auch besond're Typen gewesen ;-)

Logo der Struktogramme

EVA-Prinzip & Objekt-, Attribut-, Operatiosnbeziehung

Modultechnik

Intel-Interrupt-Logo

 
Bereich Rechentechnik und Betriebssysteme

Computergeschichte

von-Neumann-Architektur

Logo der Parallelrechnersystemee

Betriebssysteme

   



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 ;-)