473,383 Members | 1,762 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

Flow based programming & python coding style

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.

Since being introduced in the language, generators have been slowly
but surely making it into applications. To properly use generators
involve a big paradigm shift. Generator-based applications are async
in nature; they read & consume data in small chunks (iow, are
data-centric), are more responsive (because they tend to have a
quicker "setup time" to retrieve initial results), and have a big
potential to greatly minimize the memory requirements of an
application. If properly written, I'm sure they can also show a
performance improvement.

I think that, as generators get more and more accepted as "standard"
practice for Python programming, we will see a shift towards a "Flow
Based Programming" style; or at least, to a more data-centric view of
applications. I wonder how much of an impact this will have in the
"marketing" perception of Python. I personally believe that this may
represent a big opportunity for Python, specially with a good business
framework to support its application.

--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: ca********@gmail.com
mail: ca********@yahoo.com
Jul 18 '05 #1
0 1307

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Casey Chambliss | last post by:
I'm wanting to develop my own enterprise intranet web portal. I'm very new to PHP and I don't know it well yet, but does anyone have any suggestions on any docs or books that would be a good...
0
by: Will | last post by:
Hi all, Please excuse the longish post. I'm new to Python (and programming), but love what I see and believe it to be an important language. I have (at least) one retail client (with single...
18
by: Chris Mantoulidis | last post by:
There is a LARGE number of syntax styles in most (if not all) programming languages. For example, one syntax style (my current one): .... int main() { for (int i = 0; i < 50; i++) {
17
by: tshad | last post by:
Many (if not most) have said that code-behind is best if working in teams - which does seem logical. How do you deal with the flow of the work? I have someone who is good at designing, but...
0
by: jackonlyone | last post by:
E-XD++ MFC Library Enterprise Edition V9.50 is released (100% Source Code)! -------------------------------------------------------------------------------- Jan 1, 2005,HongKong,UCanCode...
11
by: arnuld | last post by:
hello all, 1st of all, i searched last 12 years archives of comp.lang.c++ because i have some problems. i got some help but not satisfied as i did not get solution specific to my problem. In the...
0
by: kellyonlyone | last post by:
E-XD++ MFC Library Enterprise Edition V9.80 is released (100% Source Code)! ("The only Flow/Diagramming Kits that provides full source code of components for MFC and ActiveX in a single package!")...
1
by: neokosmos | last post by:
I've seen various generator-based microthread implementations online, but I've been wondering: has anyone used microthreads in this manner in a game environment? Note, I am emphatically *not*...
14
by: Astley Le Jasper | last post by:
I'm still learning python and would like to know what's a good way of organizing code. I am writing some scripts to scrape a number of different website that hold similar information and then...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.