On 24 September 2013 16:50, Rodrigo Madera <rodrigo.mad...@gmail.com> wrote: > Mateusz,
Rodrigo, First of all, this topic is potentially a large one and I haven't thought it through myself, so most of my comments below are ad-hoc. Also, bear in mind, SOCI was designed and created by Maciej Sobczak, so I may not be aware of some of design decisions. > Seeking further comment on this, can you list some things that would make > SOCI a good candidate? I'd say, if there are users who find SOCI useful, then the project is valuable. Every valuable C++ library project has potential to become part of the Boost C++ collection. Does SOCI fit all Boost requirements and expectations? That is a tricky question, difficult to answer in comprehensive manner, unless SOCI undergoes the Boost review process. However, there are some indicators that may suggest SOCI wouldn't be accepted straight away: 1. SOCI is 10 years old 2. SOCI followed syntax-first develpment approach 3. SOCI design priority was to provide a very simple, usable and extensible database access abstraction (roughly, SOCI tries to act as a common denominator) 4. High performance doesn't seem to be highest priority. 5. There are known issues which still need to be addressed (i.e. more complete SQL<->C++ numeric types mapping and conversions) As you can read in some of the threads I linked, point 4 is usually extremely important for Boost. > What are the drawbacks? More work for SOCI developers :) I have been a Boost review manager (Boost.GIL I/O) and participated in library submission to Boost (Boost.Geometry), and the whole process huge effort, and may take long months to complete. > Of course some things can be made better, but as everything else. Indeed. There is new aspect which is related to release of C++11. The new standard has triggered some interesting discussions about a database library for C++, and even some N papers in 2012 [1] and 2013 [2] have been proposed: N3415 [3], N3458 [4] followed with N3459 [5] and later with N3612 [6] which BTW mentions SOCI. The last paper was later discussed [7] on ISO C++ group. Recently, ISO C++ established a SG11 - Databases group [8] devoted to discussions about C++/database access, but no threads have arrived there yet. Long story short, it looks that arrival of C++11 opened new hopes regarding C++ database interface. Meanwhile, SOCI remains C++03 compatible, but C++11 related enhancements are strongly welcome, if conditionally compiled. [1] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/ [2] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/ [3] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3415.html [4] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3458.pdf [5] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3459.html [6] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3612.pdf [7] https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/iqOtgxP_IRA [8] https://groups.google.com/a/isocpp.org/forum/#!forum/databases I hope it's helpful. Best regards, -- Mateusz Loskot, http://mateusz.loskot.net "Participation in this whole process is a form of torture" ~~ Szalony ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk _______________________________________________ soci-users mailing list soci-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/soci-users