We will be migrating from Ask to Discourse on the first week of August, read the details here

Ask Your Question

Is there any plan to ditch Java in the future and use only C/C++ code? [closed]

asked 2013-05-30 15:54:16 +0200

Rikardo gravatar image

updated 2013-07-10 21:32:00 +0200

manj_k gravatar image

Is there any plan to ditch Java in the future and use only C/C++ code?

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Alex Kemp
close date 2016-03-03 16:48:16.840847

3 Answers

Sort by » oldest newest most voted

answered 2013-05-31 16:29:37 +0200

froz gravatar image

There is GSoC 2013 project to replace HSQLDB with Firbird SQL Database for LO Base: http://www.ahunt.org/2013/05/gsoc-2013-libreoffice-firebird-sql-connector/

So there will be major component LibreOffice Base that will not require Java and so only some special parts of LibreOffice will require a Java.

edit flag offensive delete link more



There is one big part left that will not be replaced soon and that are the old API tests. But in contrast to the base parts they are not shipped with the product.

moggi gravatar imagemoggi ( 2013-06-01 08:03:22 +0200 )edit

Interesting comment. Don't know what was the main point of original question - you know from end-user perspective of not needing Java Run-time Environment any more or from developer point of view (API tests etc). Quite big success would be from end-user point of few of not needing to install JRE which can even be very dangerous if enabled (by default) in web browser as plug-in.

froz gravatar imagefroz ( 2013-06-02 19:47:49 +0200 )edit

Bug related to comment by @moggi is fdo#45904. Thanks for pointing this out Markus.

oweng gravatar imageoweng ( 2013-06-03 08:54:50 +0200 )edit

Just to add my 2c to this: I think Java will still be required for the MySQL/JDBC database connector (i.e. to connect to a MariaDB or MySQL database). Also MySQL/ODBC is down with a known bug. And the native MySQL connector was removed in 5.3. Furthermore, Firebird is lacking in places, and also there is no plan to remove HSQLDB any time soon, if ever. For example it's currently quite a bit of trouble to rename a key field (like your record ID) in Firebird.

EasyTrieve gravatar imageEasyTrieve ( 2017-05-30 21:43:15 +0200 )edit

answered 2013-05-30 21:15:17 +0200

mahfiaz gravatar image

There is. As almost everything about LO it is long-term plan, but there is some progress, e.g search http://www.libreoffice.org/download/4-0-new-features-and-fixes/ for Java.

edit flag offensive delete link more


manj_k gravatar imagemanj_k ( 2013-05-30 23:09:42 +0200 )edit

answered 2013-06-01 06:20:27 +0200

oweng gravatar image

updated 2014-09-06 09:30:24 +0200

The question as asked is very broad and the idea of using "only C/C++ code" seems simplistic. There is a wide variety of language code used in LO, with C++ and Java merely being the two most extensively used ones. This AskLO question about replacing Java scripts with Python is related.

The information in this answer needs to be taken in the context that statistics are notoriously contentious, even so I felt it might be good to have some figures to add. Caolán McNamara provides some "lower-bound" figures from sloccount for OO v2.1 in Jan 2007 and LO v3.6.2 in Sep 2012. The two blog entries highlight an important point that the source packaging has changed over time and this makes it more challenging to obtain like-for-like numbers (refer notes at bottom). These figures (also from sloccount) are more an "upper-bound" set (i.e., include all Java code) based on significant / end-of-life (EOL) releases for OOo, LO, and AOO.

lines  p/cent  version
-----  ------  -------
126538 (3.92%) OOo v1.0.3 [1]
228821 (6.22%) OOo v1.1.5 [1]
385075 (8.84%) OOo v2.1.0 [2]
372807 (8.59%) OOo v2.2.1 [2]
405473 (8.88%) OOo v2.3.1 [2]
393523 (8.49%) OOo v2.4.3 [2]
388903 (8.46%) OOo v3.0.1 [2]
396073 (8.53%) OOo v3.1.1 [2]
408610 (8.62%) OOo v3.2.1 [2]
382284 (8.04%) OOo v3.3.0 [2]
403890 (8.02%) LO v3.3.4-final [3]
401205 (8.09%) LO v3.4.6.2 [4]
395165 (8.14%) LO v3.5.7.2 [2]
387388 (8.20%) LO v3.6.7.2 [2]
401007 (8.36%) LO v4.0.6.2 [1][5]
375603 (7.87%) LO v4.1.6.2 [1][6]
376390 (7.73%) LO v4.2.6.3 [1]
364014 (7.62%) LO v4.3.0.1 [1]
406520 (7.30%) AOO v3.4.1-r1435053 
405245 (8.45%) AOO v4.0.1-r1524958
405212 (8.41%) AOO v4.1.0-r1589052

LO efforts to clean-up the code based (v3.3 to v4.1) have reduced the number of lines of code for all languages (from ~5,000,000 to ~4,770,000) and this effects the percentage of Java use. Conversely, in AOO the number of lines of Java appears relatively unchanged. I will leave it to others to comment further or correct me on anything I may have clearly got wrong.

[1] All inclusive source package.

[2] Source package 'core' only.

[3] Source packages 'base', 'bootstrap', 'build', 'calc', 'components', 'extensions', 'extras', 'filters' (excl. binfilter/), 'impress', 'libs-core', 'libs-extern', 'libs-extern-sys' (excl. dictionaries/), 'libs-gui', 'postprocess', 'sdk', 'testing', 'ure', and 'writer'.

[4] Source packages as per [2] but excluding 'build'.

[5] Most of the increase is due to the inclusion of Android code (~27,000 lines).

[6] Rewriting of the fax/letter/agenda/web/report/form/table wizards in Python is now complete as suggested in fdo#38820. This reduced the Java use ... (more)

edit flag offensive delete link more

Question Tools


Asked: 2013-05-30 15:54:16 +0200

Seen: 5,634 times

Last updated: Sep 06 '14