Page 1 of 7

PureObject - PureBasic OOP support

Posted: Tue Dec 25, 2007 3:04 am
by inc.
After some time of testing this piece of tool and also with a very kind of help during the development phase by Edel we thought about making this realease as a Christmas gift to all people who want to enjoy OOP support in Purebasic.

What is it? Its simply a preprocessor which catches the code send by the IDE or jaPBe to the compiler and does translate it to the native PureBasic syntax before starting compiling.

It has been tested with PureBasic 4.10 which comes with individual folding- and Keyword support and with the latest version of jaPBe for PB 4.10.
The ASM bug of 4.20 when using *pointers now is handled by the latest update of PureObject, try and report if it still won't work.

Some key-benefits:

- Debugger compatible code output. Means when debugging the code line number index won't be messed up!
- Obligatory support of inheritance and also polymorphism
- Encapsulation
- Constructors supporting parameters
- A final beautyfied output of the converted code. Easy to read i.e. in forums, like if you dont want to force the user to use the Preprocessor to make your code work!
(The converted code can be found in the users temp directory of the Windows installation)


The project page: http://pb-oop.origo.ethz.ch/
There you can get a lot of structured information, a documentation, HowTo's, bugtracking, etc. etc. etc.
Please do read the docs in the project-page, as well as the Changelog before posting Bugs!

Just follow the instructions and ... also like in all cases of new releases in here: report bugs ;-)
You can discuss the project in here or in the project page forum area ...
... but do report bugs in the project pages "Issues" tracking area! So we do get the best overview of what needs to be fixed.


Btw. Im not interested in ANY discussions if OOP makes sense or not!
If you don't see any benefit in it, then don't use it, its that easy.
If I do see that this project release thread changes into a flame war its a simple task for me to remove my focus from this thread.


Finally do OOP style developing using the IDE or jaPBe:

Image

Image

Merry Xmas,
Inc.


PS: @Gnozal, ... could it be done that new individual user folding keywords in jaPBe also could come with indentation support?
Thanks.


PS: Thanks to Dräc for pointing me to the final project name: PureObject

Posted: Tue Dec 25, 2007 4:30 am
by rsts
Wow :D This will take some study.

Many thanks and a merry Christmas to you too :)

Posted: Tue Dec 25, 2007 4:40 am
by Dare
Thank you for the Christmas present!

Will play with it in the next few days.

Merry Christmas to you.


Edit:

After a very quick glance at the docs, this looks like everything it promises to be. Very nice indeed!

Posted: Tue Dec 25, 2007 5:35 am
by yoxola
Thanks, that's nice

I think a name like PureOOP is good ,but it may be named POOP so that sounds wierd.

Anyway a good implementation.

Re: Just an object orientated Christmas gift

Posted: Tue Dec 25, 2007 11:50 am
by gnozal
inc. wrote:PS: @Gnozal, ... could it be done that new individual user folding keywords in jaPBe also could come with indentation support?
EDIT : since some time now, jaPBe supports custom indentation and folding.
Have a look at Preferences --> Indentation/Completion

Posted: Tue Dec 25, 2007 12:42 pm
by electrochrisso
Thanks inc. And a happy new OOP year. :D

Posted: Tue Dec 25, 2007 12:57 pm
by akj
On page http://pb-oop.origo.ethz.ch/wiki/Polymorphism it twice states that BASECLASS() is the name of the constructor for the class MASTERCLASS. Is this correct?

Also, at the bottom of the same page, declaration is wrongly spelt as declarartion.

Posted: Tue Dec 25, 2007 1:29 pm
by inc.
Thank you! Corrected.

As Im not a native english speaker I do apreciate all suggestions regarding using correct english words and grammar.
Thanks.

Posted: Tue Dec 25, 2007 2:12 pm
by milan1612
This looks very promising :P
Installing now...

Posted: Wed Dec 26, 2007 3:55 am
by Demivec
yoxola wrote:Thanks, that's nice

I think a name like PureOOP is good ,but it may be named POOP so that sounds wierd.

Anyway a good implementation.
You could call it PrOOF for PureBasic Object Oriented Finally. So much for wordplay. :wink:

Disclaimer: This is said to neither affirming or condem using OOP in PureBasic, use what works for you. 8)

Posted: Wed Dec 26, 2007 8:57 am
by npath
Thanks inc! Works great.

npath

Posted: Wed Dec 26, 2007 9:58 am
by JCV
Thanks for the hardwork. Merry Christmas!

Posted: Wed Dec 26, 2007 8:20 pm
by johnfinch
Thank you!
Great work!!
Merry Christmas!!!

Posted: Wed Dec 26, 2007 8:55 pm
by blueznl
Demivec wrote:
yoxola wrote:Thanks, that's nice

I think a name like PureOOP is good ,but it may be named POOP so that sounds wierd.

Anyway a good implementation.
You could call it PrOOF for PureBasic Object Oriented Finally. So much for wordplay. :wink:

Disclaimer: This is said to neither affirming or condem using OOP in PureBasic, use what works for you. 8)
Euh, shouldn't that be POOF then?

:twisted:

Actually, I like the name 'POOP'. It kinda', well, sticks...

:twisted:

Posted: Wed Dec 26, 2007 10:50 pm
by citystate
why not P-BOOP? reminds me somewhat of Erfworld