I did my normal scan of languages the last few weeks downloading and testing. C is still number one in the tiobe index and I think the reason is that it is the only real cross platform language that can be compiled on the most devices.
So instead of writing a C emitter, why not develop Oxygen in C? It opens up a whole world of libraries we could use to make Oxygen the cross platform compiled Basic for the most devices without importing code, adding to it in Oxygen and then outputting out to C again to make it cross platform. This way Oxygen itself would be native on each platform.
Suppose that there is already so much work that went into O2 (written in FB) that it would slow down the whole project even more if he would write it again in C.
If I remember correctly Charles started (many moons ago...) to convert O2's FB code into O2 code.
Don't know if he stopped or if he is still working on it.
If he has a C emitter and the emitting code is human readable than he could do whatever he wants, keep writing O2 in O2 or C.
Then again, writing a compiler is not trivial and takes a lot of time.
Decisions you do today will influence your mindset and with that the health of the project in the future.
If there is a even future for the project depends on the decisions you do today.
So you are back full circle.
It's a catch 22...
Just make the wrong decision and boom a few month (or years) later you realize how stupid this decision was and you have to start all over...
It's terrible.
Been there, done that.