Python
Java
Javascript
Beanshell
OpenOffice Basic
And the Java support also entails support for any language that compiles to JVM bytecode, so you can write macros in Clojure, Groovy, Scala, JRuby, Jython, etc. as well.
https://wiki.openoffice.org/wiki/Documentation/DevGuide/Scri...
You can also write your own language providers, and there are OSS providers out there for things like R and others. And you can always program against the UDK directly using C++ if you want.
https://wiki.openoffice.org/wiki/Uno
So basically... use OpenOffice and you can do your programming in
Python
R
Java
C++
Beanshell
Javascript
Groovy
Scala
Clojure
Basic
JRuby
etc., etc.
You can see a summary of LibreOffice scripting at https://help.libreoffice.org/Common/Scripting , which says "LibreOffice internally supports the following scripting languages: LibreOffice Basic, JavaScript, BeanShell, Python. In addition, developers can use high-level languages, for example Java programming language, to control LibreOffice externally."