Boost logo

Boost :

Subject: Re: [boost] [process] Formal Review starts today, 27 October
From: Klemens Morgenstern (klemens.morgenstern_at_[hidden])
Date: 2016-11-04 18:44:55


Am 04.11.2016 um 23:17 schrieb Edward Diener:
> On 10/27/2016 2:26 AM, Antony Polukhin wrote:
>> Dear Boost community,
>>
>> The formal review of Klemens David Morgenstern's Process library
>> begins today, 27th October and ends on 5th November.
>>
>> Process is a C++11 library to manage system processes. It can be
>> used to:
>> * create child processes
>> * setup streams for child processes
>> * communicate with child processes through streams (synchronously or
>> asynchronously)
>> * wait for processes to exit (synchronously or asynchronously)
>> * terminate processes
>>
>> Full documentation with examples and tutorial is available at
>> http://klemens-morgenstern.github.io/process/index.html
>> Stable source codes for review are available at
>> https://github.com/klemens-morgenstern/boost-process/tree/boost_review
>> Latest source codes available at
>> https://github.com/klemens-morgenstern/boost-process
>>
>>
>> We encourage your participation in this review. At a minimum, kindly
>> state:
>> - Whether you believe the library should be accepted into Boost
>> * Conditions for acceptance
>> - Your knowledge of the problem domain
>>
>> You are strongly encouraged to also provide additional information:
>> - What is your evaluation of the library's:
>> * Design
>> * Implementation
>> * Documentation
>> * Tests
>> * Usefulness
>> - Did you attempt to use the library? If so:
>> * Which compiler(s)
>> * What was the experience? Any problems?
>> - How much effort did you put into your evaluation of the review?
>>
>>
>> We await your feedback!
>
> I vote to accept the Process library.
>
> I highly suggest that the documentation be expanded beyond the
> tutorial to provide topics explaining all the major areas of the
> library. I don't feel that one-liner reference comments even come
> close to explain all the areas that the library covers. As an example
> of this I hunted in the reference to find that the library provides
> low-level access in its environment.hpp header to the process ID and
> the native process handle, but even here any explanation for what else
> is in the header, as well as its meaning, is almost non-existent. It
> always baffles me when a developer provides useful functionality in
> his library but does not bother to explain what that functionality
> entails. Is it laziness ? Is it tiredness ? Is it an inability to
> write a few coherent sentences in English because of lack of education
> or that English is not the developer's native language ? I just don't
> know.
Ouch. Well I can't hide behind the language card after demonstrating
that I'm rather able to write in english on the mailing list. The
assumption is: if you use environment.hpp you already no what this is
supposed to do, since you read the OS documentation. The reason for that
is that I was familiar with this stuff when I started to use
boost.process 0.5. If you know that much, I think the documentation does
suffice. But I would also be insincere if I claimed that writing
documentation is my favorite thing in the world.
But since this was now critized by many, I will add a chapter explaining
all those concepts, i.e. pipes, environment, process groups and a bit of
asio.
>
> On the plus side the library provides basic useful functionality for
> what a process library should provide in a cross-platform way. I
> especially like the idea that the library is focused on this basic
> functionality and that the syntax for using that functionality is
> clear and easy to use. I also like the idea that the library relies on
> already established Boost functionality in asio for accomplishing more
> difficult tasks rather than trying to re-invent everything or trying
> to provide more all-purpose interfaces which nobody can understand how
> to use.
>
> The library is obviously very useful whenever the task of creating and
> communicating with child processes needs to be done.
>
> I tested the basic functionality with VC++14, update 3, on Windows.
> Everything worked as expected.
>
> My effort was a few hours of reading documentation to understand what
> the library entailed and a few hours to test it out. I have a great
> deal of knowledge involving processes on Windows and only a small
> amount of knowledge involving processes on Linux.
>
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


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