Einleitung


[ Zum Seminar "Programmierkonzepte und Programmiersprachen" ][ Zum Inhalt ][ Logische Programmierung & Programme ]

Übersicht:



Einordnung der logischen Programmierung in die Sprachgenerationen


Das Dachbodenmodell der Programmiersprachengenerationen
(
Quelle: Bolkart : Programmiersprachen der 4. und 5. Generation)

dbmod.gif nicht gefunden...
1.Generation:
binärer Maschinencode
-> sehr mühsam und umständlich

2.Generation:
Assemblersprachen
-> symbolische Namen für Befehle und Operanden
-> Maschinenkentniss notwendig, immer noch sehr mühsam

3.Generation:
imperative/prozedurale Sprachen
-> Grundsatz: Programm besteht aus Deklaration von Daten und ihren Strukturen sowie Aktionen, die diese Daten manipulieren
-> Lösung von anwendungsspezifischen Problemstellungen mit wenigen "maßgeschneiderten" Sprachelementen
-> Beispiele: Fortran (1954 IBM), Algol, Cobol ...

4.Generation:
-> Relationenmodell nach Edgar F. Codd (1970)
-> Datenspeicherung und Datenmanipulation so, dass in einer Anweisung ein vielfaches von Datensätzen auf einmal bearbeitet werden kann
-> der Programmierer braucht nicht nachdenken wie er Datensätze holt, sondern was er will
-> Zerlegung von Softwaresystemen in Module (Datenstrukturen und Prozeduren sollen nicht mehrfach definiert werden müssen, das Modul übernimmt für die Implementierung die "Verantwortung"
-> Arbeitsweise: nicht in Schleifen und Wiederholungsanweisungen sondern mit Mengenoperationen

5.Generation:
-> logikorientierte/wissensbasierte Programmierung



Entwicklung der logischen Programmierung


Die theoretischen Grundlagen der logischen Programmierung wurden um 1970 entwickelt. Sie war zuerst nur eine Randerscheinung. So waren 1980 in den USA offiziell nur 12 Forscher in der Logikprogrammierung tätig, weltweit waren es um 100 Forscher.
Dieses änderte sich schlagartig als die Japaner 1981 ein grossangelegtes "Fifth Generation Projekt" ins Leben riefen.
Dieses sollten Rechner sein, die Berge von Wissen (Fakten und Regeln) verarbeiten, natürliche Sprache erkennen, Texte analysieren, sowie Bilder und Grafiken verstehen sollten.Es sollten keine reinen Datenverarbeitungsanlagen sonden "Wissensverarbeitungsanlagen" sein.
Als beste Ableitungsmethode die am effizientesten mit der Hardware arbeitete wurde von den Japanern die
Resolution festgestellt. PROLOG nutzt diesen Ansatz und eignete sich daher hervorragend als Dialogsprache zwischen Logikverarbeitungshardware und Software, mit der die verschiedenen Problemlösungsstrategien angewendet werden. Dieses Projekt verschaffte der Logikprogrammierung und besonders PROLOG (in Europa und Japan) einen ungeheuren Aufschwung. In den USA setzte sich LISP durch.
Das Projekt wurde jedoch um 1992 eher unerfolgreich beendet (oder steht bei euch ein "Fifth Generation Computer System" ? :) )


[ Zum Seminar "Programmierkonzepte und Programmiersprachen" ][ Zum Inhalt ][ Seitenanfang ][ Logische Programmierung & Programme ]