Boost logo

Boost :

Subject: Re: [boost] [process] Formal Review starts today, 27 October
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-10-31 10:27:47


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!
>

This is just an initial review of the process library.

I am looking at the documentation but I have not tried anything yet. I
like the focus of the library. The tutorial is good but since some areas
are pretty terse I was expecting a further explanation of some of the
concepts in the library. But a further explanation does not exist. I am
expected to understand how to use the library from the tutorial and
reference. I think a discussion of using pipes, no matter how small it
might be, for input and output should be part of the documentation.
Similarly groups are mentioned in the tutorial without explaining their
purpose at all.

I found the notation for the std_out, std_err, and std_in to be exactly
the opposite of what I would expect. I would think std_out and std_err
would use a '<' notation and std_in would use a '>' notation. But using
the pipes was fairly straightforward. I found the naming in the tutorial
a bit strange, where a bp::opstream is called 'in' and a bp::ipstream is
called 'out'.

In general I think the library is focused and very promnising. But I
would still want something between the tutorial and the reference
discussing all the main concepts of the library, so that the end-user
does not have to dig in the reference to understand what areas of
functionaity the library has to offer.


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