OOP Precompiler und Konstrukte

Für allgemeine Fragen zur Programmierung mit PureBasic.

Wirst du einen OOP-Precompiler mitentwickeln wollen

Ja, brauch ich und habe ich Spass dran
12
38%
Nein, Unsinn und Zeitverschwendung
15
47%
Alles Andere was nicht oben zutrifft
5
16%
 
Insgesamt abgegebene Stimmen: 32

Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Beitrag von inc. »

Ich denke, derjenige der eine PreProzessor für OOP schreibt, muss neben der Fähigkeit diesen exzellent in PB zu schreiben auch sehr gute Kenntnisse in OOP besitzen. Ich will hier nicht! arrogant klingen, denn ich selber backe da lieber kleinere Brötchen.

Es sollte sich ein Team finden, die dies umsetzen, fertig da stimme ich Hroudtwolf zu.
Das Ganze sollte aber nicht nach zwei, drei Wochen an den Nagel gehangen werden, weil dann plötzlich jemand beruflich sehr eingespannt ist oder der Hund in Kur muss - das Ding ist dann eben ein richtiger Job.
Ich habe erlebt, wie sowas letztes Jahr in die Hose ging .... wurde viel erzählt und theorisiert, aber es kam quasi in der Praxis nix konsequentes bei raus.

Diese OOP Syntax Diskussionen gibts hier schon massenweise im deu. und engl. Forum, somit sollte sich dieses "Team" vorab untereinander auf eine Syntax einigen, welche sinnvoll und auf lange Sicht für den späteren User gut zu verwenden ist. Unabhängig davon, was hier bereits vorgeschlagen wurde. Denn Ziel ist es, EINE inoffizielle OOP Syntax für PB zu finden, welche nah an der Syntaxlogik von PB ist, und die sodann klar definiert "feststeht" - es wird immer jemanden der späteren Nutzer geben, der dies oder das eben anders sieht.

Denn .... jeder der in solch einem Thread postet will es anders machen oder findet seine individuellen Vorschläge sinnvoller (geht mir auch so). Ich denke hätte Fred bevor er PB erschuf einen Thread mit "PB Syntax Wünschen" eröffnet, würde die Syntax bis heute noch nicht stehen.



PS: fsw z.B. muss sich viell. eh fragen warum jetzt wieder das gleiche Projekt neu angefangen wird, obwohl er schon sehr weit gekommen ist, ..... nur hat ihn keiner bei seiner Vorleistung durch klare Feedbacks weiter in seinem Projekt unterstützt ... und da hat ihn viell. auch irgendwann mal die Lust verlassen, was dann auch normal ist.
Einfach ihn eine PM senden und ihn fragen, ob er seinen Code vielleicht LGPL'en (o.ä) will, damit man daran ansetzen kann. Sein und Hroudtwolf's Code könnte man in ihren Vorzügen "mergen" um beider Codes Vorteile nutzen zu können.
Hier gibts die OOP Option für PureBasic.
Benutzeravatar
Rings
Beiträge: 977
Registriert: 29.08.2004 08:48

Beitrag von Rings »

@ZeHa
Man muss es ja net so unverständlich mache wie die Politiker und
Beamten-Hanseln.
Demokratie leben in einem "freien" Forum. Warum nicht alles hier posten.

@inc.: Genau das ist das Problem, closed-source projekte verenden oft
weil ne Katze krank geworden ist :freak:
fsw' ansätze wären ja net schlecht gewesen, aber ohne source ???
Rings hat geschrieben:ziert sich nich beim zitieren
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Jepp, ich sehe das ähnlich, man muß sich einigen - aber wichtig ist auch, daß das nicht einer oder zwei Leute machen, sondern daß erstmal sehr viel an Vorschlägen ankommt, was man als Material verwenden kann um damit dann die "perfekte" Syntax zu bilden. Daher hab ich hier auch einiges vorgeschlagen, und ich denke, es wäre ganz sinnvoll, wenn jeder, der hierzu irgendwie Ideen hat, diese kurz äußert und - ganz wichtig - auch begründet. Dann sind hoffentlich genügend Konstellationen und Gedanken da, um daraus dann eine endgültige Linie abzuleiten.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Rings hat geschrieben:@ZeHa
Man muss es ja net so unverständlich mache wie die Politiker und
Beamten-Hanseln.
Demokratie leben in einem "freien" Forum. Warum nicht alles hier posten.
Ähh worauf war das jetzt bezogen? Verstehe grad den Zusammenhang nicht so ganz :)
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Beitrag von inc. »

Rings hat geschrieben:@inc.: Genau das ist das Problem, closed-source projekte verenden oft
weil ne Katze krank geworden ist :freak:
fsw' ansätze wären ja net schlecht gewesen, aber ohne source ???
Mein Vorschlag: Zumindest die Chance nicht ungenutzt lassen, fsw anzuschreiben und ihn fragen. Wenn er nicht möchte ist dies natürlich sein gutes Recht, aber wenn er zustimmt, .... würde das ein Wiederbeleben seiner Arbeit bedeuten.

Zudem, wenn alle drauf zugreifen sollen, könnten wir bei Sourceforge.net ein Projekt anlegen, wo eben Admins für jenes Projekt angelegt werden.
Jeder kann auf den Code zugreifen, aber das Projekt wird bei Sourceforge gehostet.
Hier gibts die OOP Option für PureBasic.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Ok, habs verbessert und paar bugs gefixt:
http://www.forgesoft.net/Resources/OOP-Precompiler.zip


Beispielcode:

Code: Alles auswählen


Class OBJECT 
  a.l 
  b.w
  Declare DummyProc:ProctypeB(a,b,c)
EndClass


Class ObjectA 
  n.l 
  d.w
  Declare TestProc:ProctypeC(a,b,c,d)
EndClass


Method DummyProc(a,b,c)
Debug "Summe: "+Str(a+b+c)
EndMethod


Method TestProc(a,b,c,d)
Debug "Summe: "+Str(a+b+c+d)
EndMethod


New MyObject.OBJECT

MyObject\DummyProc(1,1,0) 


New Test.ObjectA 

Test\TestProc(4,1,1,1) 



Und hier der Output, damit jeder weiß, wie ich es mir vorgestellt habe:

Code: Alles auswählen

Prototype ProctypeB(a,b,c)
Prototype ProctypeC(a,b,c,d)



Structure OBJECT 
  a.l 
  b.w

DummyProc.ProctypeB

EndStructure





Structure ObjectA 
  n.l 
  d.w

TestProc.ProctypeC

EndStructure


Procedure DummyProc(a,b,c)

Debug "Summe: "+Str(a+b+c)

EndProcedure


Procedure TestProc(a,b,c,d)

Debug "Summe: "+Str(a+b+c+d)

EndProcedure




MyObject.OBJECT


MyObject\DummyProc=@DummyProc()
MyObject\DummyProc(1,1,0) 



Test.ObjectA 


Test\TestProc=@TestProc()
Test\TestProc(4,1,1,1) 

; IDE Options = PureBasic 4.10 Beta 4 (Windows - x86)
; CursorPosition = 48
; Folding = -
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

1) Wozu benötigst Du diesen ominösen Proctype in der Klassen-Definition?
2) Warum wird Method und EndMethod nicht durch Procedure und EndProcedure ersetzt?
3) Warum setzt Du den Funktionspointer zur Methode bei jedem Aufruf neu?
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>1) Wozu benötigst Du diesen ominösen Proctype in der Klassen-Definition?

Prototype ProctypeB(a,b,c)


>2) Warum wird Method und EndMethod nicht durch Procedure und EndProcedure ersetzt?

Ups, war noch die alte Exe dabei. Habs jetzt neu hochgeladen.


>3) Warum setzt Du den Funktionspointer zur Methode bei jedem Aufruf neu?

Tia..


Werde 1 und 3 gleich fixen.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Jo aber das mit dem Proctype, kannst Du das nicht auch gleich automatisieren? Wäre doch umständlich, das dauernd so angeben zu müssen...
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Hab ich grad. Ist jetzt alles automatisiert.
Trick: Fürs Proctype wird Klassenname+Methodname benutzt.
Keine Ahnung, ob das so sinvoll ist.
Antworten