Boost logo

Boost :

Subject: Re: [boost] [beast] Formal review
From: Edward Diener (eldiener_at_[hidden])
Date: 2017-07-13 03:15:26


On 7/12/2017 8:43 PM, Vinnie Falco via Boost wrote:
> On Wed, Jul 12, 2017 at 5:40 PM, Edward Diener via Boost
> <boost_at_[hidden]> wrote:
>> Boost has two state machine libraries. Did you look at either of them for
>> your uses ?
>
> No. The thought of introducing a dependency on a library dedicated
> only to large scale state machines never crossed my mind. Have you
> seen the state machine in question? Here's a typical example:
> <https://github.com/vinniefalco/Beast/blob/ceeb354424bb00474bbf713450b1d03de102aa7c/include/beast/websocket/impl/write.ipp#L144>

I want to make a general point:

You can always use library X, even if the library encompasses much more
than you need in your own library or application. I have never
understood why software developers are afraid of creating a dependency
on some other library when that library solves some software problem
which makes some other software module easier to code or understand. I
see no advantage of developers rolling their own solution when some
other library has already solved the particular software problem in an
elegant and useful manner.

I neither know nor can judge whether your particular solution is
better/worse than using a ready-made library. I was just surprised when
you say that the thought never crossed your mind, considering that you
described your code as a state machine and Boost has to state machine
libraries, one fairly low level and one at a higher level. But if you
think using either library would have been overkill that is
understandable. Still I myself would have at least investigated the
other libraries, if indeed you are implementing a state machine in your
code as you say.

>
> Thanks


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