leerho commented on issue #502:
URL: 
https://github.com/apache/datasketches-cpp/issues/502#issuecomment-4513975823

   I am all for restructuring the library for ease of use and understanding and 
make it more consistent in structure with other big libraries.  Although this 
is somewhat of a duplicate of #419, There is additional information here as 
well.
   
   However, your Option A above will not work.  Users often are using several 
of our sketches in the same application. Absent any other clarifying 
information the user could end up with a unique counting "sketch.hpp" and a 
quantiles "sketch.hpp".  Oops!  This means the user would end up having to 
fully qualify which sketch is which every time it is used.  
   
   We had a similar situation in the DS-Java library and I ended up having to 
rename many of the classes and methods to include the sketch type in the call.  
You will now find HllSketch, CpcSketch, ThetaSketch, etc.
   
   A lot of this is historical. Our library started with just one sketch and 
grew, and grew and added multiple languages as well.
   
   Also, as @jmalkin points out in #419, our original thought was that users 
would just always install the whole library.  And that might have been OK when 
the library was just one or two sketches.  Nonetheless, breaking this up so 
that each sketch can be extracted on its own may be a lot more involved.  There 
are some common code that is shared across some of the sketches that will have 
to be looked at.
   
   It is time to modernize the C++ library structure.  I will defer to others 
who are more familiar with C++ to comment on your other suggestions.
   
   This will constitute a new major version. In that context, we may want to 
take the opportunity to examine whether we want to set the minimum C++ version 
to C++17.  We also want to make sure we include some of the other bug fixes 
that have been trickling in :) 
   
   We also could use some help in this restructuring as the original authors no 
longer have the time to devote to this. I think they may be available to answer 
some questions, but that is about it. 
   
   I would like to invite a few other folks to weigh in on this :)
   CC += @AlexanderSaydakov @jmalkin @will-lauer @tjstum
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to