Achso. Na, ich muss zugeben, dass ich mir unter OOP nur das vorstellen kann, was ich von JavaScript, etc. her kenne.
JavaScript ist, finde ich, ein sehr schönes Beispiel für OOP, denn alle Objekte dort sind so stark gegliedert, wie es sich für OOP gehört: window, math, date, ...
Semikolons haben vielleicht nichts mit OOP zu tun, so gesehen stimmt's schon.
Aber mann kann es auch mit OOP übertreiben:
Code: Alles auswählen
// JavaScript
var text="Suchen";
var index=text.indexOf("e");
; PureBasic
Define text.s="Suchen"
Define index=FindString(text, "e", 1)
Muss man denn in OOP wirklich alles mit Punkten unterteilen und hinten dran hängen? Kann man es damit denn nicht übertreiben?
Bei diesem Codebeispiel sehe ich nicht wirklich den Vorteil von OOP.
Klar, es ist wirklich ein sehr kurzes und fades Beispiel; aber es
ist eines. Der Unterschied bezüglich des Notationsaufwandes scheint mir so marginal, dass sich ein Umstieg innerhalb von PB auf OOP nicht lohnt.
Aber auch bei "längeren" Beispielen bin ich geteilter Meinung:
Code: Alles auswählen
// JavaScript
window.document.forms[0].eingabefeld.text="OOPvsPP";
; PureBasic
SetGadgetText(#eingabefeld, "OOPvsPP")
hier kann man sehr schön sehen:
Um ein StringGadget anzusprechen, hangelt man sich in JavaScript/OOP durch die einzelnen hirarchich angeordneten Objekte:
Das Eingabefeld mit dem Namen 'eingabefeld' ist Teil von Formular Nr. 0, dieses ist dem document-Objekt untergeordnet. Und wie über vielem, so steht auch hier das window-Objekt über allem.
In PureBasic hingegen geht das doch nun wirklich bequemer, zumal es in PureBasic (Gott sei Dank) keine Formulare gibt. In PureBasic kann man einzelne Objekte direkt ansprechen, wozu also erst einen "Pfad" davor schreiben?
Andersrum ist natürlich dieser Pfad genau die perfekte Orientierungshilfe. Ich vergleiche das immer mit Dateien: Diese sind auch in einem Pfad gespeichert. Und alle meine Pfade kann ich auswendig.
Wenn man dann noch eine gute IDE wie Delphi 6+ hat (mit Autovervollständigen), dann macht OOP das programmieren wirklich zum Vergnügen!
Dennoch sehe ich keinen Anlass OOP einzuführen, weil es so oder so bestens klappt mit dem Programmieren. Und da in PB PP nun mal Standard ist, warum dann noch einen zweiten Standard einführen?
Ich bin also nicht gegen OOP (außer, es verdrängt PP!). Aber solange es bei mir nicht "klick" macht, kann ich nicht Ja dazu sagen.
Ich würde gern mal ein gutes Beispiel sehen, möglichst eines, dass ich auch verstehe.
Denn hier im Thread wurde bereits geäußert, alles was PP kann, könne OOP auch und noch viel mehr. Was wäre denn eine Situation, wo OOP überlegen ist?