Ultimately I'm programming a lot on Qt on Linux, not so bad but shouldn't it be beautiful to can use Haiku/BeOs API on Linux (or Windows or OSX)?
This is not the usual proposal to port BeOS on a Linux Kernel, please not misunderstand me!
I'm absolutely contrary, to this as you know, but in a cert-sense is exactly the contrary make Linux better using Be API!
In the end is the same thing done by Nokia for QT and Sun for JAVA: a framework targeting a Virtual Machine that in this case is incidentally real(Haiku/X86).
In the end Haiku has advantages to this as applications developed for other OSes using this imaginary framework can run natively on it!
So we have:
- Command line applications works out the box in all OS
- GUI applications on Haiku works out the box as it is a normal application for it! (it uses libbe, Application Kit, etc...)
- GUI applications on Linux links the Haiku libraries compiled for Linux, Application Kit uses in some way native Linux APIs (GTK and so on...)
- GUI applications on Mac OSX links the Haiku libraries compiled for Mac OSX, Application Kit uses in some way native Cocoa APIs
- GUI applications on Windows links the Haiku libraries compiled for Windows, Application Kit uses in some way native Win32 APIs
If you want you can think to do something similar to that Google done per NACL:
http://www.chromium.org/nativeclient/getting-started/getting-started-bac...
that is, we can create our "runtime", our gcc, our unified posix library, our ABI (that is the Haiku/Be ABI); that is in Linux not use system printf() but our own implementation for example, so in the end we can obtain a marvelous result:
I create an APP on Windows and it runs without recompiling (!) works out-of-the-box on Linux (and Win32, MacOSX, etc...) and NATIVELY in Haiku!
It will be fantastic and I suppose very possible, if we want :-)
And we can imagine to do the same pass of PNACL, targeting an Haiku on immaginary and then jitting (compilin just-in-time after during the runto the native CPU) using LLVM for X86, ARM, PPC, MIPS...
What you think?