OO in blitzmax vs basic

BlitzMax Forums/BlitzMax Programming/OO in blitzmax vs basic

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

How on Earth did you conclude that OO is a performance problem based on your experience with globals?

For the record, OO was perfectly fast (Simula) until SmallTalk became synonymous with OO. (SmallTalk is still slow.) This wasn't helped by Java becoming synonymous with OO. (Java is still slow.) Turbo Pascal (which, in later incarnations, notably Delphi) was Object Pascal, was always fast. C++ may have compiled horribly slowly in the days of cfront but it never ran slow.

All OO does is allow methods to be handled by indirection the way structured variables allow fields to be handled by indirection (e.g. Types in Blitz). A couple of clock cycles to dereference a.b (a\b) isn't seriously regarded as a performance issue, dereferencing a function pointer is no different at all.