FlowBasedProgramming | RecentChanges | Preferences

"Coordination Language"

DavidGelernter and NicholasCarriero refer to Linda (see LindaLanguage) as a "coordination language" - its job is to tie together components which can be written in different languages. FlowBasedProgramming (FBP) shares this characteristic, as it is also a coordination language, rather than a programming language in the conventional sense, and can very simply link together components written in different languages.

The purpose here is not to provide yet another programming language - experience has shown that no one language can support all the different paradigms and world-views that might be needed when instructing computers. IBM's PL/I (see PliLanguage) tried to be all things to all people, and yet still didn't cover all the options - and it was quite complex.

For a contrary view see MultiParadigmProgrammingLanguage and ConceptsTechniquesAndModelsOfComputerProgramming.

We visualize that, in an ideal application development environment, one should be able to glue together modules written in different domain-specific mini-languages. FBP is well-adapted to glue such pieces together as the "glue" is data.

The concept of ConfigurableModularity is key: there is a very real prospect in the future of being able to build quite interesting applications without writing a line of code - just specify the network and parameters, where "parameters" can be expanded to include "mini-languages". See the discussion in http://www.jpaulmorrison.com/fbp/minilang.htm, which hopefully sheds light on why I feel MultiParadigmProgrammingLanguage is off the point. Hopefully also the existence of a CoordinationLanguage should stem the tendency for mini-languages to grow into maxi-languages.

FBP components also communicate by means of structured data objects which exist in their own space, rather like Linda's TupleSpace, except that they travel across BoundedBuffer connections, rather than being retrieved associatively.

FlowBasedProgramming | RecentChanges | Preferences
This page is read-only - contact owner for a password | View other revisions
Last edited July 2, 2004 5:31 pm by PaulMorrison (diff)