Oha. Mein Lieblingsthema zwingt mich hier auch mal wieder was zu schreiben. ^^
Das wird wohl eine ewige Diskussion in der PB-Community bleiben und weiterbringen wird sie uns auch nicht.
Leider lässt Fred hier einen ganz wichtigen Zug in Richtung professioneller Programmierung abfahren wenn er weiterhin darauf besteht aus idealistischen Gründen auf optionales, natives OOP in PB zu verzichten.
Der Ruf der Community wird schon seit Langem immer lauter nach einer nativen, anständigen OOP-Lösung in PureBasic.
Und so wie es ausschaut müssen erst Fremdentwickler einen Compiler entwickeln der das bietet.
Aber lassen wir mal die ungebackenen Brötchen im Ofen.
Viel interessanter sind die ewigen Pro&Contras zu nativer PB-OOP.
Während sich die einen nichts sehnlicher wünschen als eine simple optional anwendbare Erweiterung ihrer "Lieblingsprogrammiersprache" wehren sich andere mit Händen und Füssen gegen diesen Gedanken.
Letzteres kann ich allerdings nicht nachvollziehen.
Wo liegt in diesem strikten Ablehnen die Logik ?
Wenn euer Auto nen Turbo-Knopf hat den ihr nutzen "dürft", aber nicht müsst, würdet ihr es sicher nicht ablehnen zu fahren.
Wir reden hier schliesslich von einer simplen Erweiterung durch ein paar Keywords und wenige weitere Syntax-Faktoren die man einfach nutzen können soll wenn man möchte und sie nicht nutzen muss.
Auch Einsprüchen gegen die OOP wie in etwa "Man kann auch alles prozedural erreichen." kann ich nicht zustimmen.
Denn ich kann mir auch nen Tunnel durch den Berg graben um nach oben zu kommen anstatt dort bequem über nen Wanderweg hin zu kommen.
Die OOP eröffnet einem Programmierer nicht nur die Möglichkeit ein paar tolle Keywords zu benutzen.
Es erweitert seinen Geist.
Denn wer OOP programmiert, lernt anders zu denken.
Das mag nun sicher nicht jeder verstehen. Ist aber so.
Der Beweis liegt zum Beispiel in so tollen Konzepten wie
MVC oder einfach ausgeklügelte objektorientierte Infrastrukturen welche sich weder prozedural lösen liesen oder ein PP-Only Progger jemals darauf kommen würde seine Projektproblematik auf solch einem Wege lösen.
Wenn ich nur an
UML denke, welche ich als eine der grössten Inovationen in der modernen Programmierung und Projektplanung betrachte, könnte ich mir dafür beim besten Willen keine Anwendung für ein PP-Projekt aufgrund dort fehlender modularer Kapselungen und vorstellen.
Ich finde das ja eben in PB so passend das man PP programmieren kann aber über eigene Konstrukte (mittels DataSection, VT, Interface) doch an OOP heran kommt.
Alleine die Tatsache dass man sich über solche Verfahrensweisen die Übersicht im Quellcode versauen muss nur um objekt orientiert programmieren zu können, sollte doch für eine native, Keyword gestützte OOP in PureBasic sprechen.
Wobei man mit solchen Interface-Objects nichtmal tief hierarchische Composings programieren kann ohne sich nen Stack-Overflow zu holen.
Ich bin dafür das PB auf PP ebene bleibt, eben möchte ich reines OOP dan nehme ich mir halt eine OOP Sprache, sollte PB dann OOP unterstützen hält mich nichts davon ab reines OOP dann auch in PB zu schreiben, allerdings kann ich mir dann vorstellen das PB dann wohl um längen langsamer wird. Oder halt der ein PreCompiler für OOP der dann Framework unabhängig läuft.
OOP macht keine Sprache langsamer.
Der Programmierer tut dies höchstens durch falsche Konzipierung seiner Anwendung.
Es sind unwesentlich mehr pushs, pops und calls die bei der Ausführung von oo programmierten Anwendungen ihre Arbeit verrichten müssen.
Und solange die Verwendung von OOP optional bleibt gibt es auch keine dieser fast unmessbaren Geschwindigkeitseinbußen für den eingefleischten PP Progger.
Sein letztes Statement* dazu war ja recht klar formuliert, er will die BASIC-Programmierer nicht in zwei Lager spalten. Natürlich kann er seine Meinung dazu noch ändern, aber ich glaube, das wird er dann selbst ankündigen.
(*Freds)
Ich kann hier die Logik nicht ganz finden.
Es mag ja sein dass sich bei nativ, optionaler OOP sehr viele Progger finden werden die nur noch objekt orientiert programmieren und dementsprechend in der Com auch nur noch objektorientierte Sources puplishen würden.
Jedoch spaltet sich auch ohne die OOP Erweiterung bereits jetzt die Com in zwei Lager.
Nämlich die einen, die lieber moderne Programmiertechniken anwenden möchten und daher lieber auf ne andere Sprache satteln und die andern die halt auch so gern mit PB proggen und auch dabei bleiben.
Da sollte man sich doch mal fragen was wohl die bessere Alternative ist.
MfG
Wolf