1000101 wrote:FreeBASIC is pretty close to complete in my eyes, some things which need to be finished off are inheritance, polymorphism and just the plethora of bugs which abound in the compiler and libraries.
It is a good level zero for a compiled OOP language yes.
But there is enough to think of:
* RTTI (reflection)
* interfaces or other kinds of MI
* dynamic dispatch (maybe you already have this due to olevariant/com/idispatch? ) to call scripting languages/idispatch
* variants, mainly for implementing generic database abstraction frameworks.
Personally, but I've echoed that before, think that the reliance on the preprocessor in FB is still to high to name the language complete.
If the language is ok, then I probably wouldn't see so much code using the preprocessor.
Adding crud like collision detection is a program logic issue and are implemented within your code and are not the rtl. Some things like linked lists or trees are common enough and used in enough different situations that an rtl implementation may be a good idea though (but god help you if you implement a slow method).
Or a non-typesafe one. (which is partially the same, since runtime typing makes for slow code)
Which is where the ghost of generics/templates inevitably comes out of the bottle.
64-bit output is completely unrelated to the language itself, as is porting to any specific platform.
True in theory. Not entirely true in practice, very system has its quirks. Windows (and OS/2 to some extend) have messages and COM, OS X really needs Objective C connectivity if you want to make native gui apps, and Amiga/Morphos also has extensions to make system interfacing easier.
If you don't implement such things, you remain an outsider, and the project is only half ported.