On Github you can see the following Distribution:
1. C++ 79.3% <https://github.com/apache/openoffice/search?l=c%2B%2B>
2. Java 9.8% <https://github.com/apache/openoffice/search?l=java>
3. Makefile 2.3% <https://github.com/apache/openoffice/search?l=makefile>
4. XSLT 2.2% <https://github.com/apache/openoffice/search?l=xslt>
5. PostScript 2.1%
<https://github.com/apache/openoffice/search?l=postscript>
6. C 1.4% <https://github.com/apache/openoffice/search?l=c>
7. Other 2.9%
So the Core is written in C/C++. But it is still in an old style. So we
use gnu98 standard. Mainly because we support old Distributions.
So we still support Centos 7. On Windows we need to move to newer SDKs,
currently we use an outdated one, which makes trouble.
Some volunteers have tried to update it but it never went into our
sourcetree.
For MacOSX we moved up in the SDK versions, and got rid of the most
legacy stuff.
About the Java Code: Java has been introduced by sun at some point in
history. A lot of Wizards are made in Java.
I am not sure if Java is completly optional, since ant the Java build
tool we use is not optional. But most of the code is optional for sure.
Other Code:
We have some Perl and bash scripts that help us to build openoffice.
They are currently added in the source repository.
We have integrated some Scripts in python too. I.E. Mailmerge.
Also there is some Assambler script which is very interesting concept.
The assambler application creates a sort of compability layer between
languages.
We can directly use a Java class in C++, when it is announced by special
idl files or vice versa. Pretty neat but breaks any chance currently to
use an IDE.
Also the codes is divided in Modules. You can check the Architecture at
[1] where it gives some abstract overview. However at [2] I created a
dependency sheet, showing how the build environment thinks the modules
depends on each other. [3] tries to explain what each modules does, but
it is incomplete and I invite everyone to help to complete it. I try to
collect text from other parts of the wiki and from the code.
HTH
Peter
[1] https://wiki.openoffice.org/wiki/Architecture
[2] https://wiki.openoffice.org/wiki/File:Dependency_graph_trunc.odg
[3] https://wiki.openoffice.org/wiki/Main
Am 16.03.20 um 22:31 schrieb James Taylor:
Hello,
I am James and I am currently studying a BTEC Level 3 extended Diploma in IT
and Computing at Henley College.
As part of my course, we have different units and one of them we are currently
covering is Programming.
I was wondering what OpenOffice is programmed in, and how it works in a code
way.
I am sorry if this isn’t very clear.
Kind Regards,
James Taylor
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10