On Thu, Oct 20, 2022 at 2:33 PM Siddharth Khattar <skhattar111@xxxxxxxxx> wrote:
Hello,So I was going through the crazy ideas list for LibreOffice at https://wiki.documentfoundation.org/Development/Crazy_Ideas .
Crazy Idea page was first created as a dump of some crazy ideas that the enthusiastic developers had after LibreOffice was forked (this is why many ideas are 10+ years old), but has since then evolved into a place where everyone (but the developers) write their crazy ideas in - so keep that in mind.
Also they don't mean anything - probably none of them will ever be implemented.
When I came to the idea "AOT Compilation for Java Libraries used by LibreOffice" , there was this line as the first disadvantage -> "Feasibility: Is it even possible to use AOT compiled Java Libraries in a C++ compiled executable? Couldn't find a definite answer. "
What does this line mean?
Looks like the crazy idea is just by some user thinking aloud.
Can't AOT compilation be used for all Java Libraries?
Who knows, probably it's possible with a lot of work but don't think anybody was looking into that.
Also, does LibreOffice use Java Libraries to further compile their functions into C++ executable?
No.
I don't understand what it meant to say at all to be honest.
You're free to ignore that - it's not like the crazy ideas page has any meaning.
Also, the last disadvantage -> "May reduce motivation to move from Java entirely"
Why does LibreOffice want to move on from Java?
We want to move away from Java for core stuff as it would require for every user to have a JVM installed (only Base currently requires a JVM).
We also want to move away from Java during the building of LibreOffice, for example running tests written in Java, because C++ tests are easier for most to debug if something goes wrong (as most of core developers are C++ developers).
But we don't want to get rid of Java as a language you can build LibreOffice extensions in.
Will it depend entirely on C++ instead then?
Is this also a crazy/ambitious idea?
Not that crazy.
Is it somewhat related to the "Replace Mozilla Rhino with Mozilla's SpiderMonkey or Google's V8" idea as it also wants to remove Java as a dependency for executing _javascript_ extensions?
Well not directly. Rhino JS support isn't the best or fastest, so replacing that with an up-to-date C++ compatible JS engine that is actually used in a browser would be much better.
Also no need to have a JVM installed to run JS would make it a much more interesting language as an alternative scripting language for macros and extensions.
Or is that a completely seperate idea?
Yes.. and is just a crazy idea.
Thanks for reading/answering my long question!
Regards, Tomaž