* objektbasiert |
Folgende Begriffe werden als ProgrammierParadigmen angesehen und als Attribute für ProgrammierSprachen verwendet:
D.h. der Beitrag hier soll lediglich der Aufhänger für eine weitergehende Diskussion und auch weiterführenden ja vielleicht sogar divergierenden Darstellungen sein.
Seiten für Detailfragen und Diskussionen:
Vorbemerkungen / Überlegungen |
Es ist wichtig, zwischen
Unter ProgrammierParadigmen versteht man primär abstrakte Konzepte, die nur mehr oder weniger direkt (bzw. unmittelbar) von real existierenden ProgrammierSprachen "realisiert" werden.
Eine Programmiersprache kann einem Paradigma zugeordnet werden, wenn
Begriffe |
Ordnungssystem |
Das ist eine gängige "Zusammenfassung":
Klassifikation |
In medias res |
Im folgenden möchte ich als eine kurze Einstimmung in das Thema eine Auswertung der Informationen, die man auf von FOLDOC findet, vornehmen:
Facts
1.) "procedural language" wird (dort) mit "imperative language" gleichgesetzt!
2.) "imperative language" (bzw. "procedural language") wird als Gegenbegriff zu "declarative language" aufgefasst.
4.) Unter "declarative language" werden subsumiert: "logic programming language" bzw. "relational language" und "functional language".
5.) "applicative language" wird kurzerhand mit "functional language" gleichgesetzt (!). Weiters heißt es dazu: "Sometimes used loosely for any declarative language though logic programming languages are declarative but not applicative."
6.) OOP wir kurz erklärt ohne Bezugnahme auf die oben beschriebenen "Paradigmen".
Conclusion
Daraus ergibt sich nun folgenden BILD:
Die Sprachen können unterschieden werden in:
Wir erhalten also das Ergebnis, dass sich auf FOLDOC praktisch dieselbe Meinung wiederfindet, wie sie auch hier von mir im Rahmen der ProgrammierParadigmen/Begriffe vertreten wurde.
Dies belegt zumindest die "praktische Relevanz" einer derartigen Einteilung.
Jedoch hat die Diskussion auch gezeigt, dass diese Darstellung ZU EINFACH ist, und differenziert werden muss.
Erste Schlussfolgerungen |
Aus all dem ergibt sich für mich folgendes Bild:
Die Unterscheidung in "prozedural" (oder auch "imperativ") und "deklarativ" ist üblich und wird auch häufig angetroffen im Netz (und natürlich auch sonstigen "Literatur"). "Deklarativ" wird zudem noch [mindestens] unterteilt in "logisch" und "funktional".
Wenn von Paradigmen die Rede ist, findet sich aber häufig auch noch OO als eigenes "Paradigma"...
Bsp.: "...look at xxx for examples of scheme doing OO, logic programming, and functional programming..." - bekanntlich ist ermöglicht Scheme in mehreren Stilen zu programmieren: so heißt es in der "Selbst-Charakterisierung" zu der SpracheScheme: "A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme." (Bem.: "Message passing" ist charakteristisch für OO...)
[ To be continued ]
Diskussion |
Siehe /Diskussion
Fragen |
Wie fügt sich AspektOrientierteProgrammierung in das Bild?
Wohin gehört SQL?