Informatik
- Programmiersprache
Informatik
ist eine künstliche, formale
Sprache zur Formulierung von Programmen, die von einem Computer ausgeführt
werden können. Zur Vermeidung von Mehrdeutigkeiten müssen bei
Programmiersprachen Syntax
(Festlegung der Zeichen und Zeichenfolgen, die in einem Programm
zugelassen sind) als auch Semantik
(Bedeutung der verwendeten Zeichen und Zeichenfolgen auf dem Rechner,
auf dem das Programm ausgeführt werden soll) eindeutig definiert sein.
Je nach dem Grad der Maschinennähe, das heißt dem Grad, in dem die
Hardware eines Rechnersystems beachtet werden muss, werden
Programmiersprachen in Maschinensprachen eingeteilt:
niedere
oder maschinenorientierte Programmiersprachen (Assemblersprachen)
höhere
oder problemorientierte Programmiersprachen (von der Hardware
unabhängig)
Höhere Programmiersprachen
werden mit Übersetzern (Compiler oder Interpreter) in niedere übertragen,
niedere in höhere mit Aufwärtsübersetzern.
Auf der Basis des
einer Programmiersprache zugrunde liegenden Konzepts werden die höheren
Programmiersprachen im Wesentlichen in 4 Kategorien eingeteilt:
i)
Bei imperativen (prozeduralen)
Programmiersprachen besteht ein Programm (Programmrumpf) aus
einer Abfolge von Operationen, die jeweils Daten bearbeiten. Wesentlich
ist das Variablenkonzept, nach dem Eingabewerte in Variablen
(Speicherzellen) abgelegt und dann weiterverarbeitet werden (z.B. ALGOL,
BASIC, C, COBOL, FORTRAN, MODULA-2, PASCAL).
ii)
Deklarative
Programmiersprachen gehen
davon aus, dass vorrangig nicht die Problemlösung, sondern das Problem
beschrieben wird, das zu lösen ist. Für die Problembeschreibung gibt
es verschiedene Ansätze:
a) Bei funktionalen
(applikativen) Programmiersprachen wird ein Programm als Funktion
einer Menge von Eingabewerten (Parameter) in einer Menge von
Ausgabewerten betrachtet (z.B. LISP, LOGO).
b) Bei prädikativen
(logischen) Programmiersprachen dient ein Programm zur Beweisführung
in einem System von Tatsachen und Schlussfolgerungen (z.B. PROLOG).
iii)
Verteilte
und parallele Programmiersprachen
werden bei der Programmierung von Aufgaben für verteilte Rechner (z.B.
vernetzte Workstations) und Parallelrechner eingesetzt; in der Regel
ergeben sich hierbei spezielle Probleme hinsichtlich der Kommunikation
und Synchronisation, wofür in den Sprachen besondere Sprachkonstrukte
vorhanden sind. Einerseits wurden eigene Programmiersprachen wie OCCAM,
PARALLAXIS u.a. entwickelt, andererseits wurden konventionelle
Programmiersprachen um entsprechende Konstrukte erweitert (z.B. FORTRAN,
PASCAL).
iv)
In objektorientierten
Programmiersprachen werden alle zur Problemlösung
erforderlichen Informationen (Daten und Regeln) als Objekte aufgefasst
(Objektorientierung), die durch Senden von Nachrichten Informationen
miteinander austauschen können. Neben den rein objektorientierten
Programmiersprachen, wie Smalltalk, Eifel, Java, gibt es
objektorientierte Erweiterungen von Sprachen, wie C++, Object
Pascal und Oberon (Erweiterung von MODULA-2).
Copyright
Bertram 1998
|