WOP - world-oriented programming


WOP - der Nachfolger der OOP

Moderne Programmiersprachen basieren auf der Objektorientierung:
Zusammengehörie Funktionen werden in Klassen zusammengfasst und zur Laufzeit in Form von Objekten instanziiert. Die Sichtbarkeitsmodifizierer wie public, private oder protected sorgen für die Rechtevergabe innerhalb des Objekts sowie bei der Kommunikation mit externen Objekten.
Dieses Konzept macht Sinn - im 19. Jahrhundert.
Mittlerweile jedoch hat sich nicht nur die Welt, sondern auch das Denken führender Sofwareentwickler weiterentwickelt, was zu einem neuen Forschungsansatz führte: Der World-Orientierung.
Maßgeblich an der Forschung beteiligt war Herr Prof. Dr. Fred Ericke der Universität Hommingberg, welcher auch für Anmerkungen und Anregungen unter der Adresse fredericke@uni-hommingberg.de zur Verfügung steht.

Im Nachfolgenden sollen nun die grundlegenden Gedanken und ein paar der Konstrukte der WOP erklärt werden.




WOP-Denkweise
In der OOP werden zusammengehörige Funktionalitäten und Ähnliches zu Klassen zusammengefasst. Bestehende Klassen können durch Vererbungen erweitert werden.
Doch was ist der Sinn dahinter? Richtig: Eine "it's so nineties"-Denkweise.
Es wird eine Hierachie und Abgrenzung erzeugt. Doch wird nicht immer ein größeres wir-Gefühl und eine gößere Zusammengehörigkeit gefordert?
Das sollte sich nun auch in der Programmierung durchsetzen, und somit die alten Programmier-Klischees ( wie eine "root"-Klasse, "private"-Variablen ) und so weiter ersetzen. Realistisch gesehen wurden viele Elemente der OOP aus Misstrauen gegenüber anderen und Angst um die eigenen Werte erschaffen.
Mit diesesn Grundsätzen soll die WOP nun brechen, es gilt: Quellcode ist für alle da.



Syntax, Sprachelemente

Die WOP ist von wenigen Sprachelemente geprägt.
So gibt es keine Klassen, keine Methoden oder klassischen Kontrollstrukturen.

Die Schlüsselwörter, die zur Verfügung stehen sind recht simpel gehalten, um eine Gleichberechtigung bestmöglich zu erzeugen. Außerdem wird mit vordefinierten Aufrufen eine größtmögliche Integration des Anwenders ermöglicht.

Im Nachfolgenden soll ein kurzes Listing die grundlegenden Elemente erläutern.


world

heaven
initNeededValues
generateGuiFromMind
flyTo co1
/heaven


continent co1
generateMessage \'hallo aus der wop\'

flyTo hell
/continent

hell
destroyWorld
/hell

/world

Ein paar erläuternde Worte:

  • Das gesamte Programm ist vom Schlüsselwort "world" umfasst.
  • der Abschnitt "heaven" wird beim Starten des Programms per default gerufen. Zu vergleichen mit einem Konstruktor der OOP.
  • Die Aufrufe "initNeededValues" und "generateGuiFromMind" erzeugen alle benötigten Parameter, sowie eine GUI aus den Gedanken des Anwenders. So findet sich der Anwender sofort in der Oberfläche zurecht. Die Aufrufe rufen interne Funktionalitäten der RuntimeEnvironment "World 0.1beta", können also nicht von extern modifiziert oder beeinflusst werden.
  • der Aufruf "flyTo name" fordert das Programm auf, zum angegebenen Kontinent zu fliegen.
  • Kontintente ("continent name") sind die einzige Möglichkeit, das Programm zu strukturieren. Aus Erfahrung reichen diese Möglichkeiten aber vollkommen aus.
  • Soll das Programm beendet werden, so muss der Abschnitt "hell" anfgeflogen werden. Dieser beendet das Programm.


Bemerkungen

Die WOP befindet sich natürlich noch in den Kinderschuhen.
Von daher freuen wir uns immer über konstruktive Kritik.

Kommentar schreiben
Keine Kommentare vorhanden