Jez Higgins

Freelance software grandad
software created
extended or repaired


Follow me on Twitter
My code on GitHub
Talks & Presentations

Hire me
Contact

Older posts are available in the archive or through tags.

Feed

Friday 17 April 2020 Arabica: Inching Toward The Future

Arabica, my XML processing toolkit, has been in an unofficial maintenance mode for several years now. I never actually stopped working on it, but I wasn’t actively doing anything on it. My own work and interests had moved on to other things and, to be honest, I had (and still have) no idea how many people might be using it. I have had the occasional pull request, for which I’m very grateful, so obviously it was more than zero but people weren’t beating down the door asking for or providing updates and changes. (More significantly, nobody offered me money to do work on it. From my side money would have shown the toolkit’s importance, and definitely would have bought a disproportionate amount of time and effort. This is still true.)

But there it was - not dead but resting. The first Arabica release was back in October 2001 and so the code reflects the C++ of that time. One of my little hooks for Arabica was that it was written in Standard C++. Well, time moves on and, eventually, so did C++ and increasingly Arabica has come to be written in the Standard C++ of the past. There all kinds of ways the code could be modernised - use auto and the range-for will do wonders by themselves. The string_view can, I think, replace Arabica’s string_adaptor and eliminate some if not all of the copying that goes on in the parser wrapper classes. More widely lambda expressions and std::function suggest all kinds of interesting ways the SAX interfaces could be reworked, and that user functions could be bound into the XPath and XSLT engines. More immediately, Arabica uses std::auto_ptr and those need to go in favour of std::unique_ptr.

I have, because it was the easiest change, done that and expect to cut a new release shortly. I can’t promise that I’ll necessarily do any more, or any time soon, but it’s a start and starts are good.


Tagged code, and arabica


Jez Higgins

Freelance software grandad
software created
extended or repaired

Follow me on Twitter
My code on GitHub
Talks & Presentations

Hire me
Contact

Older posts are available in the archive or through tags.

Feed