Issue with cyclic Import statements

BlitzMax Forums/BlitzMax Programming/Issue with cyclic Import statements

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.

Pointers - Not really although you might use them to simulate or approximate something like interfaces as discussed before.

Interfaces are really a language feature needing support of the compiler and runtime.

Multiple inheritence (MI) is allowed in some languages - C++ being one example. Many people regard it as dangerous, mainly because of the difficulty it can lead to in determining exactly which parent class will provide a given property or method. The capability no doubt has its uses but can lead to 'spaghetti inheritence' if poorly implemented.

I'm going from hearsay as I avoid C++ in favour of C#. But people who I know who are very experienced with C++ agree that it is a potential minefield and instead use interfaces to resolve the issues that MI can also address while avoiding its danger. This is on large commercial projects and they pretty much ban any use of MI.

In contrast Java and C# which are (IMHO) more evolved and rational than C++ do not allow MI but provide interfaces as a cleaner and safer solution.

OOP (especially with interfaces), garbage collection, strong typing and a decent IDE is such a powerful programming environment - productive and enjoyable.