Boost logo

Boost :

From: Janson R. (mlists.aerostun_at_[hidden])
Date: 2020-09-22 10:41:17


This is a review from a library user standpoint.
Thanks to Vinnie, Krystian, and the other contributors for their work.

> Do you think the library should be accepted as a Boost library?

I recommend ACCEPTING this library into Boost.

> - What is your evaluation of the design?

The design takes some time to get used to, but it fits well to the
problem being tackled (a JSON-DOM library).
Switching my codebases using RapidJSON to this library made the code
more readable and it will also allow me to get rid of a significant
amount of boilerplate.

> - What is your evaluation of the implementation?

Looks solid. Boost-quality I find.

> - What is your evaluation of the documentation?

Solid. A month ago I still had to read the source code to find some
details, but now all I need for my use-cases is in the docs, well explained.

> - What is your evaluation of the potential usefulness of the library?

Very useful; to me it takes the same place as Nlohmann.JSON and
RapidJSON, both very popular and widely used libraries, but brings
better performance and a better API.
Regardless of the outcome of this review, I will use this library for my
future JSON-DOM needs in C++.

> - Did you try to use the library? With which compiler(s)?

All in standalone mode on Debian:
GCC 9, 10
Clang 9, 10, 11 [trunk of 03 Jul 2020]

> - How much effort did you put into your evaluation?

Converted two of my codebases (which have different use-cases for a
JSON-DOM), read through the implementation, read the docs at multiple
stages of its maturation over the last couple months.
Amounts to about 40h.

> - Are you knowledgeable about the problem domain?

I do not have much experience designing nor writing libraries, however I
do use a significant number of them, both Boost and non-Boost.
JSON is my primary format for configuration files and web communication;
In the past I have used Nlohmann.JSON and then primarily RapidJSON for
its speed, despite its (in my eyes) terribly user-unfriendly interface.
I have also used JSON a lot in other languages (TypeScript, PureScript,
Java).

-- RJanson


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk