Flow based programming & python coding style

Carlos Ribeiro carribeiro at gmail.com
Wed Dec 15 17:40:55 CET 2004


On Wed, 15 Dec 2004 15:16:44 GMT, Jp Calderone <exarkun at divmod.com> wrote:
> 
> 
> On Wed, 15 Dec 2004 12:30:07 -0200, Carlos Ribeiro <carribeiro at gmail.com> wrote:
> >Hi,
> >
> > A friend of mine passed me some links about a great concept (not new
> > in fact, only new to me):
> >
> > -- http://www.jpaulmorrison.com/fbp/
> > -- http://c2.com/cgi/wiki?FlowBasedProgramming
> >
> > I found many of the explanations and examples strangely familiar. The
> > C2 Wiki contains a good discussion that draws parallels between FBP
> > and functional programming, although Paul Morrison is quick to point
> > ou the differences. It also strikes me how much of this "paradigm
> > shift" can be readily embodied in Python by using generators.
> 
>   Continuations provide a better conceptual fit.  Generators
> are extremely inconvenient to nest (not to mention the numerous
> difficulties with them, such as poor toolchain support).  While
> they are certainly handy here and there, their limitations become
> apparent in almost any non-trivial application.  Other languages
> (and other implementations of Python) go a lot further towards
> making "flow based programming" natural.

I think that generators are just one more step in the process towards
a not-so-far in the future "Stackless-like" Python. I sincerely
believe that Stackless (with support for continuations & related
features) is one of the great driving factors behind many of the
improvements in this arena (the other being functional programming in
general).

In this regard, Python comes up surprisingly well armed. It already
supports several styles: imperative, functional, procedural,
object-oriented, and now, some idioms for data-centric programming.
The language managed to cover it all in a surprisingly clear & concise
environment.  I believe that the native support of flow-based friendly
techniques is a good step; and more than this, I believe that it will
change the way Python code is written. But that's really just my
opinion, and everyone is entitled one, right?

-- 
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: carribeiro at gmail.com
mail: carribeiro at yahoo.com



More information about the Python-list mailing list