J. Paul Rodker Morrison #

Furo FBP was inspired by the work of Paul Morrison. You will find a lot of interesting material on his page.

Some words from the discoverer of Flow Based Programming #

    – Just as in the preparation and consumption of food there are the two roles of cook and diner, in FBP
    application development there are two distinct roles: the component builder and the component user or
    application designer. The component builder decides the specification of a component, which must also include
    constraints on the format of incoming data IPs (including option IPs) and the format of output IPs. The
    specification should not describe the internal logic of the component, although attributes sometimes “leak” from
    internal to external (restrictions on use are usually of this type). The application designer builds
    applications using already existing components, or, where satisfactory ones do not exist, s/he will specify a
    new component, and then see about getting it built.

    Component designers and users may of course be the same people, but there are two very different types of skill
    involved. This is somewhat like the designer of a recent popular game, who admitted he was not particularly fast
    at solving it - his skill was in designing games, not in playing them. The separation between makers and users
    is so widespread in real life that we don’t pay any attention to it unless it breaks down. In industry, as Wayne
    Stevens points out, we take for granted the idea that airplane builders do not build their own chairs - they
    subcontract them to chair manufacturers, who in turn subcontract the cloth to textile manufacturers and so on.
    In contrast, the world of conventional programming is as if every builder designed his own nails, lumber and
    dry-wall from scratch. Talk about “reinventing the wheel” - in conventional application development we reinvent
    the rubber, the nuts and bolts, and even the shape of the wheel! [van Norstand Rheinhold, Flow based Programming
    (1994). Page 53]