36
2. Informatik und Informations- und Kommunikationstechnik
als Fakten und Regeln abbildet, zu unterst¨
utzen. Hieraus soll durch eine
schlussfolgernde
”
Inferenzmaschine“ und eine entsprechende Benutzerschnitt-
stelle ein
”
Experte“ auf diesem Gebiet nachgebildet werden, der unter An-
gabe entsprechender Daten deduktiv Krankheiten diagnostizieren kann. Die
Hoffnungen in solche Expertensysteme, wie auch in andere Ans¨
atze des For-
schungsgebietes K¨
unstliche Intelligenz (KI, AI:
Artificial Intelligence), sind
aber in der Vergangenheit nicht immer erf¨
ullt worden. Das bekannteste Bei-
spiel f¨
ur eine logische Programmiersprache ist Prolog.
Ein weiteres Denkmodell, das das Programmieren auf eine h¨
ohere (ab-
straktere) Stufe stellen soll, ist der funktionale Ansatz. Dabei wird grundle-
gend auf dem mathematischen Funktionsbegriff aufgebaut. ¨
Uber eine Verket-
tung und Rekursion k¨
onnen hiermit Algorithmen abgebildet werden. Funk-
tionale Programmiersprachen (wie LISP, Haskell) haben sich aber im We-
sentlichen nur f¨
ur bestimmte Problembereiche durchsetzen k¨
onnen.
Schließlich sei noch kurz auf
objektorientierte Programmiersprachen ein-
gegangen. Beispiele f¨
ur objektorientierte Programmiersprachen sind Small-
talk, C++, Java, VB.NET, C#, Eiffel und Beta. W¨
ahrend im algorithmi-
schen Denkmodell der Sprachen der 3. Generation Operationen und Daten
getrennt sind, basiert das objektorientierte Paradigma auf der Kapselung von
Daten und zugeh¨
origen Operationen in Objekten. Hierbei kann ein Objekt
als ein Ding oder eine Abstraktion mit (in gewissem Maße) definierten Gren-
zen und einer Bedeutung f¨
ur einen betrachteten Problembereich definiert
werden. Gleichartige Objekte werden zu Klassen (Objekttypen) zusammen-
gefasst. Diese Klassenbildung dient sowohl dem Problemverst¨
andnis als auch
als Basis f¨
ur eine (gegebenenfalls wiederverwendbare) Implementierung. Ein
Objekt einer Klasse besitzt eine Identit¨
at, Eigenschaften (Attribute) und ein
Verhalten (Methoden). Ein Beispiel f¨
ur eine Klasse in einer Unternehmens-
anwendung w¨
are KUNDE mit Eigenschaften wie z. B. Name, Adresse und
Kreditstatus sowie Methoden wie z. B.
”
Adress¨
anderung“ oder
”
¨
Anderung
Kreditstatus“.
Neben der Kapselung von diesen Eigenschaften und Operationen in der
Klasse KUNDE zeichnet sich das objektorientierte Paradigma durch das Kon-
strukt Vererbung aus: Beispielsweise mag es angebracht sein, zwischen Privat-
kunden und Großkunden zu unterscheiden, obwohl beide Objekttypen viele
gemeinsame Eigenschaften und Operationen besitzen. Damit ist es sinnvoll,
auf einer Konzipierung und eventuell einer Implementierung einer allgemei-
nen Klasse KUNDE aufzubauen und hieraus eine Typhierarchie abzuleiten,
in der spezielle Typen einschließlich der entsprechenden Eigenschaften und
Operationen abgebildet werden. Auf die Objektorientierung wird in den Ab-
schnitten 4.5 und 6.4.1 n¨
aher eingegangen.
Im Hinblick auf die Notwendigkeit von Mechanismen zur (m¨
oglichst ein-
fachen und flexiblen) Kombination von Softwarekomponenten wurden so ge-
nannte Skript-Programmiersprachen entwickelt. Ein entsprechendes Scrip-
ting implementiert insbesondere die prozedural orientierte Verbindung von
2.4 Software
37
Komponenten zu fertigen Anwendungssystemen; vgl. Nierstrasz und Lum-
pe (1997). Beispiele f¨
ur Skript-Programmiersprachen sind Perl, Python und
JavaScript.
Do'stlaringiz bilan baham: