

LibreOffice under the hood: progress to 4.4.0 - davidgerard
https://people.gnome.org/~michael/blog/2015-01-29-under-the-hood-4-4.html

======
caf
_This turns a 2000 record mail-merge from a matter of hours down to a few
minutes._

Nice one.

------
epistasis
Interesting plot of "Detected lines of German comment" vs. version.

~~~
tech-no-logical
probably a legacy from stardivision, the german makers of the original
staroffice, which became openoffice.org, which in turn became libreoffice.
it's origins go back to when the z80 was a 'current' processor :)

~~~
davidgerard
This is what is interesting about LibreOffice. It's a thirty-year-old C++
codebase. Computers now have 100,000 times the memory and 1,000,000 times the
CPU! And this codebase has had mediocre commercial coders working on it out of
public view and following the hairpin turns of marketing. And commenting in
German, because they were substantially in the StarDivision office. It's _very
messy_.

But it's an actual product that, for all that, _basically works_. And millions
of real people do real work with it every day.

I find Michael Meeks' tech reports really interesting, because they show how
on earth a small band of very high-calibre software engineers can possibly
maintain a several-million-line codebase with far too few people.

The answer is automation, directing slogging through. Unit tests, automatic
code checkers, Coverity, clang plugins, assorted torture tests ...

It's a useful example of how too few people can effectively maintain and
_develop_ a huge codebase. This is knowledge the world will need for the
future, as software continues to expand as absolutely large as it can.

~~~
renox
Well, the OTHER useful example is STEPS project of the VPRI institute which
claims that you could build the equivalent of our modern desktop software
which much, much less code. The big issue with this project is that AFAIK no
code is available.. But it could be an interesting way: maintain an existing
enormous codebase and build from scratch in parallel another one, then meet at
the middle.

