OOP in GLBasic Idee

Previous topic - Next topic

FlowPX2

Morgen,
weiß nicht was die meisten von euch davon halten, aber ich hatte mal die Idee ob man nicht glbasic einwenig OOP bei bringen könnte. Bei Microsoft gibt es soetwas seit VisualBasic .Net

Da GLBasic ja c++ als Unterbau hat, könnte man soetwas Problemlos einbauen ohne kompatibelitäts Probleme mit den jetzigen GLBasic Projekten.

Code (glbasic) Select

Class Auto

EndClass

Class LKW extends Auto

EndClass


sowas in der Art für einfache classenstrukturen.
Wäre ein nettes Extra Feature, dass man nutzen kann aber nicht nutzen muss.
Gerade bei größten Projekten kann das später hilfreich sein.

MfG
FlowPX2

Quentin

ja, wurde schon häufiger angeregt. Ich fänds auch gut :)) Allerdings stehen wir damit wohl relativ einsam in
der Gegend rum. ich glaube vor allem Gernot hält nicht viel davon, weil damit möglicherweise das Attribut "Einfach" n
nicht mehr so recht zu GLBasic passen würde :(

FlowPX2

Naja, teilweiße ist es leichter 2 kleine classen zu schreiben als mehrere arrays oder structs und vielen globalen Funktionen.

Gerade wenn man mehrere Spieler, Bäume oder andere Objekte hat. Diese kann man schön in Classen packen, dann eine jeweilige draw, rotate, collision usw. Funktion der classe hinzu und schon hat man einiges einfacher verpackt.

Wie gesagt sollte nur Optional sein ohne an der Grundlegenden GLBasic Syntax was zu ändern.
Einfach bleibt GLBasic dadurch weiterhin... Da man OOP nicht nutzen muss... Aber wenn etwas komplexer wird freut man sich dann eventuell umsomehr das es funktioniert.


Schranz0r

Hab ich schon sooooooo... oft probiert Gernot das aus dem Knie zu leiern ;)
Zu PROTOTYPE hat er sich hinreißen lassen, was auch schon gut wär, wenn es ein THIS geben würde.

Naja was solls, evtl müsste man ne Petition machen dafür :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

backslider

Klassen wären echt schön! *g*
Man könnte das ja einfach aus der Hilfe rauslassen, dann stört es den, der es nicht braucht auch nicht   :nana:

Quentin

#5
hier das Ergebnis der letzten Umfrage :)

http://www.glbasic.com/forum/index.php?topic=3855.0

ich denke, am schwersten wiegt das Argument von Gernot, daß er das zeitlich nicht mehr hinbekommt.
Der Focus der Weiterentwicklung bzw. Wartung liegt zur Zeit ja wohl auch eher darauf, alle bisherigen Plattformen
zu unterstützen. Und auch da kommen ja immer noch weitere Wünsche hinzu :)

FlowPX2

Ich hab die Lösung! xD

GLBasic sollte eigene PreCompiler einbinden können ^^
Einer der noch vor dem PreCompiler von GLBasic läuft...

So könnten externe Projekte entstehen die GLBasic neue Möglichkeiten (auch Syntaxmäßig) geben.
In GLBasic könnte man dann so Sachen eingeben wie Class usw.

das wird durch den in die Einstellungen hinzugefügten eigenen PreCompiler gejagt und der spuckt dann GLBasiccode mit Inline C++ aus...

So eine funktion müsste sich in GLBasic innerhalb weniger Stunden implementieren lassen ;-) Dürfte also nicht all so schwer für Kittie sein.

Und die Community kann sich nette Sachen ausdenken für Precompiler...

FlowPX2

Wieso Macro Buttons?
Was haben Macros mit einem PreCompiler zu tun...?
sry, aber kann es mir gerade nicht anschauen, erst heute abend.
Kannst du mir grob erklären was du damit meinst und was das bringt?

FlowPX2

Nee... Ich kann ja nicht wenn ich etwas compilieren will da zwischen funken... sprich...

Ich drücke auf compilieren... dann springt der PreCompiler von Kittie an... Wenn da davor ein Benutzerdefinierter PreCompiler laufen könnte wäre es echt klasse ^^

Weiß ja nichtmals wo GLBasic seine vorkompiliere datei ablegt also die ganzen tmp daten... und da ne kleine demo wie man einen eigenen Precompiler laufen lässen könnte wäre klasse ^^

So könnte man selbst einige funktionen implementieren und wenn diese gut sind und laufen, eventuell über nimmt Kittie dann einige teile davon für GLBasic.

So könnte der Benutzer aber GLBasic einwenig erweitern ^^ Wäre total cool

Schranz0r

Naja, ist ne ewige spielerei dann mit dem precompilern und ich glaub auch nicht das es so funktionieren würde.
Wo jedoch GLBasic seine tmp's hinwirft weiß ich, doch bringt dir das nix, weil der GLB-Compiler kompromislos duchzieht :P

So, wenn jedoch die große mehrheit für Klassen wär... was TYPE an sich ja auch schon ist, wird Gernot sich das bestimmt nochmal überdenken. Klar Basiclike ist das mit sicherheit nicht, dennoch ist es sinnvoll für sehr erfahrene Nutzer die einfach nicht auf GLBasic verzichten wollen, um so C++ zu umgehen.

Er könnte es SOGAR in ein neues GLBasic-Addon packen(addonPRO), um so einfach nochmal dafür entlohnt zu werden. Ist ja schlieslich auch nen A*hust* voll arbeit. Ich würde sofort kaufen xD 
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

FlowPX2

stimmt hab die temps gefunden... das bringt garnichts... da muss wirklich eine weitere schicht beim compilieren rein.... Sprich ein PreCompiler vor dem PreCompiler von GLBasic.

Damit könnte man nicht nur OOP in GLBasic bringen... sondern man könnte auch viele andere neue Sachen damit testen.

Noch mal ein extra?
Naja ich würde das direkt in GLBasic machen...

backslider

Ich würde dafür auch zahlen! Der Strom des Entwicklungs-PcÃ,´s muss ja auch bezahlt werden  ;)  :nw:

Schranz0r

Lass mich raten: 750 Watt Nettzteil?
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

backslider

Meinste jetzt meinen oder den von Gernot? ich mein letzteres  :good:
Mein PC kommt damit ca hin xD

Schranz0r

Oh falsch verstanden, mein trotzdem deinen ;D

JAJA die gute GTX 260 braucht ja min. auch "nur" 550 Watt :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard