From: Dean M. B. <mik...@gm...> - 2009-05-26 05:18:46
|
On Tue, May 26, 2009 at 11:56 AM, Matt Trentini <mat...@gm...> wrote: > >> I'm currently really busy with the day job taking on a more important >> role in the team. > > I sympathise with your "pain"! ;) > Thanks. :-D >> I personally am already using cpp-netlib in a couple of production >> projects already and I can say it's proven to be stable enough for >> REST use cases. I have successfully used cpp-netlib to interface with >> Amazon AWS in a previous project and I think that's good enough >> quality to build software around (if I may say so myself). ;-) > > I've been putting together a few small applications using cpp-netlib > but I'm about to integrate it into our main codebase and so will be > relying on it heavily over the next couple of weeks/months. > Sweet! :-) > I've got a couple of specific issues/queries but I'll leave them for > another email. > > After spending a bit of time looking over the codebase I'd agree that > the quality of the code is pretty high. It's initially quite dense > (mostly due to the fusion compile-time templates and tags) and > documentation is a little sparse (are you considering publishing the > doco?) but once you get a feel for it the design seems sound and the > code solid. > The internal documentation isn't really a priority for me (personally) basically because I believe the code should be readable enough on its own -- so that I (or others) don't have to maintain the internal documentation and the external documentation. Sure, you can generate doxygen documentation, but that would only get so far IMO. What I spent some time on is working on the actual gears that make the internals work and describing the whole picture in the architecture documentation. Some of the examples are meant to be guides, and if I attempt to write about the idioms used in the code, it's going to be a book like what Andrei Alexandrescu and other great authors have already written before me. :-D >> The server-side HTTP implementation however is something that I'm >> currently fighting for to be released by my employer as Open Source >> software. We've been using this HTTP server internally in production >> and has proven to be flexible, extensible, and high performance enough >> that I think it's worth the wait. > > Good luck with that, I'm sure the C++ community would appreciate it. > FWIW we're currently using a modified version of one the boost::asio > examples to handle incoming http requests. > Thanks. :-) >> I am personally waiting for the next standard before implementing much of the things I'm envisioning for the library. > > I'm looking forward to the next standard too but I wouldn't have > thought it would hold you up too much? > Right, that and the day job is giving me much to be busy on. ;-) >> More specifically, I'm waiting for: >> >> - standardized futures > > Absolutely. Anthony Williams has been doing some great work in this > space (http://www.justsoftwaresolutions.co.uk/files/futures_documentation.html). > Looking forward to seeing his future library in boost soon (as I > recall it's been accepted but not integrated yet). > Yup. And I'm looking forward to an STL that implements its own threadpool -- that way I can use them in the asynchronous client version I'm thinking about implementing. >> - rvalue references and move semantics (for better performance) >> - variadic templates >> - auto and decltype > > All useful, for sure. I'm also keen to see lambdas. > Lambdas are cool on their own. :-) But for building cpp-netlib I don't see it as being an integral part of what I am envisioning the code would look like. Maybe for supporting asynchronous handlers, users of the library can rely on lambdas, but internally I don't see the need for it just yet. >> Much of the code would work without these features but if writing more >> and more features would be an effort that later would have to be >> re-written I'm thinking of deferring the bulk of the work for later. > > Well, boost certainly appreciates compatibility with older compilers > so if you are going for acceptance... :) > You're right. :D I should clear some of the modifications I've done for the employer so that it can be checked into the source tree. Hopefully they'll be keen on getting more open source code out sooner than later. ;-) >> In the meantime though, you can get the latest released version and >> try using it in your project -- we would love to hear what your >> experience is like. In case you need anything specific addressed, I'm >> sure we can work together to make it happen. > > Will do! I've been hesitant to post because I haven't really > understood the library well enough but I think I've got enough > experience now that I (hopefully) won't be wasting everyone's time. > That definitely sounds encouraging to me. :-) > Thanks for such a prompt response. > No worries, don't forget to let us know about your progress and experiences with the library! :-) -- Dean Michael Berris | Software Engineer, Friendster, Inc. blog.cplusplus-soup.com | twitter.com/mikhailberis | linkedin.com/in/mikhailberis | profiles.friendster.com/mikhailberis | deanberris.com |