1.18 pointers

BlitzMax Forums/BlitzMax Beginners Area/1.18 pointers

They are in essence different.

numerics are not extended from Object, BMs core object from which each other existing object is extended. Only types extended from BBObject ie :Object in BM are true objects ... sad but true :-(


They base on a deeper and indepent structure optimized for fast calculation instead OO. This deeper structure fully depends on the C / C++ generated code for maths, which on its own is highly optimized.

I agree that this is quite bad and not really desirable and unlikely in an OO language that seems to use modern OO design rules in all other aspects.
Seems like this is one of the heritages of BMs C/C++ binding in the background as they are as crap in this situation.

Perhaps this will change at some point, I would really like to see that happen ...

(For a more indepth explanation: All "true" objects base on BBObject, which implements the needed core functionality like the reference counter and needed core methods like .ToString. The numerics exist on this level as well as BBDouble and the like. But these types do not inherit BBObject ... And simply let them inherit would not solve the problem as you would need to write the whole operator handling etc as well ... I don't think this will work without altering the compiler as well)