Courses on FBP

157 views
Skip to first unread message

Paul Morrison

unread,
Apr 4, 2013, 2:12:38 PM4/4/13
to flow-based-...@googlegroups.com
It recently occurred to me to wonder if any Computer Science educators include Flow-Based Programming in their curricula - even if only as a curious variation on, say, pipelines...  This question arises out of my recent question about where FBP fits in within the taxonomy of programming paradigms...  Given the fact that FBP has been around for 40-odd years, and given the number of people in different countries who have shown an interest over much of that time, you'd think it would at least be receiving some mention in standard CS courses these days!

Would anyone out there who is studying, or has recently studied, programming paradigms in a CS course, care to comment?  Thanks in advance.

Ron Lewis

unread,
Apr 4, 2013, 2:44:07 PM4/4/13
to flow-based-...@googlegroups.com
My courses in computer programming are many years ago. I still have a comment. I think you have a very significant thought. We should indeed see that FBP is taught at least as one of the programming paradigms or maybe as something else, whatever. Still, we should see that it is taught. And if not, why 

What if we approached whoever writes curriculum in a university. And they said FBP is not included. What would qualify it to be included? I would think that qualifying FBP to be included in a curriculum would be a matter how FBP is expressed.

Or maybe FBP is already taught, as you mentioned, but by a different name. 

In any case, seems that FBP is a methodology that has been applied in IBM for over 40 years to successfully implement countless applications. And at least several people in this Google group have applied it. Does not seem that FBP could be ignored in the universities, 

Sam Watkins

unread,
Apr 4, 2013, 11:22:11 PM4/4/13
to flow-based-...@googlegroups.com
One random remark, while UNIX is based on undelimited streams (for pipes,
TCP sockets, file I/O etc.) The superior "Plan 9 from Bell Labs" is based
on 9p, which is a delimited datagram protocol. They also wrote but
abandoned their own reliable datagram internet protocol, IL (internet link).
So there is some sort of support for packet-based FBP, from the Bell Labs.

Matthew Lai

unread,
Apr 5, 2013, 10:12:33 AM4/5/13
to flow-based-...@googlegroups.com
Don't understand. Are you saying FBP cannot be deployed with the current TCP/IP v4/v6?
I run my distributed FBP across 3 computers (1 ultra book + 2 Raspberry Pi) in a TCP network
without any issues. May be I'm missing something with regard to the "packet-based" FBP?

Matt

Sam Watkins

unread,
Apr 5, 2013, 10:56:26 AM4/5/13
to flow-based-...@googlegroups.com
On Fri, Apr 05, 2013 at 07:12:33AM -0700, Matthew Lai wrote:
> Don't understand. Are you saying FBP cannot be deployed with the current
> TCP/IP v4/v6?

No I didn't mean that, just that Pauls FBP uses like datagrams (not
undelimited streams) and so does 9p, that's all

San

John Cowan

unread,
Apr 5, 2013, 11:47:31 AM4/5/13
to Sam Watkins, flow-based-...@googlegroups.com
Sam Watkins scripsit:

> No I didn't mean that, just that Pauls FBP uses like datagrams (not
> undelimited streams) and so does 9p, that's all

That's because 9P is an application protocol, like FTP. FTP uses "packets"
too, namely command lines and response lines. The packets of 9P don't
necessarily correspond to the underlying IP packets.

--
John Cowan co...@ccil.org http://www.ccil.org/~cowan
Thor Heyerdahl recounts his attempt to prove Rudyard Kipling's theory
that the mongoose first came to India on a raft from Polynesia.
--blurb for Rikki-Kon-Tiki-Tavi

Paul Morrison

unread,
Apr 16, 2013, 9:05:20 PM4/16/13
to flow-based-...@googlegroups.com
I think we got off track here - nobody has really answered Ron's question...  :-)   Who do write the curricula at universities?  Professors,  administrators, the dean...?


On Thursday, April 4, 2013 2:12:38 PM UTC-4, Paul Morrison wrote:

Giant Elk

unread,
Oct 1, 2013, 9:55:05 PM10/1/13
to flow-based-...@googlegroups.com
That's a good question > Who writes the curricula at universities?  Professors,  administrators, the dean...?

I can add that, in 1992 at the university I went to, a big name one, there was about 4 books in the library on C programming (the largest university library in Canada), the newest from about 1974 (18 year old books). The school book store wasn't much better. Our software engineering text book was about 20 chapters long, 1 was on Data Flow diagrams. And I've never heard about FBP until a few weeks ago. Now a days universities teach Ruby on Rails, so I don't think much has changed.

I'm aware of all the code generators and higher level tools, and from the other smart tech developers I've been talking with over the past few weeks, they look at FBP & NoFlo like it's a glorified code generator. And code generators are deemed inflexible when you want to go outside the box. So there is an issue of perception in many cases (more below on perception). If you look at tools like www.gamesalad.com or 
these things can get overwhelming to people accustomed to the usual source code, and looking at the NoFlo graphs of the IDE screen shots is kind of scary in that it reminds me of the pain of using gamesalad. 

I really believe that for any new idea or technology to cut through the amount of clutter and dogma that exists, whether medicine, film, distribution models (Amazon vs brick stores), (NetFlix vs Block Buster), (Napster vs the music labels), you will see that common sense goes out the window for either immediate profit/gains, fear of loosing ground/market share, fear of failure, and a pile of other human issues. And the only way any new idea/technology has broken through is when someone does it anyway, achieves success and a little notoriety, then everyone else says, "it's obvious, why wouldn't you do it that way". All the above examples just did it, and now the rest of the world is following suit. From the 1st airplanes to trains... I mean, imagine the 1st guy that said, "hey, look at those horses, we should ride them", the rest of the tribe would of beat him down until one day they saw him riding a horse.

The 1st mobile game using NoFlo, or the 1st web app that is full featured will be a huge break through, since there are about 9x more web and app developers than corporate developers working on old style apps. It doesn't have to be a big seller or hit with consumers, it just needs to prove to developers and designers what is possible. 

We're all just too busy trying to keep up with the current state of things whether that's Objective C, Java on Andriod, PhoneGap (for HTML 5/JavaScript mobile apps), Ruby on Rails, Django, Node/Express, AngularJS and a billion other opensource projects one person can't remotely keep tabs on. MongoDB vs mySQL. Who has time for a complete shift in consciousness when we can't keep up with the day to day, let alone managing 2 or 3 different email accounts and 2-3 social media accounts (which seems to be the norm for most technically driven souls).

Most corporations are going web/mobile for internal apps, the companies that aren't will either die a slow death, or if they are big like the banks loose out on future growth to more agile companies like PayPal and Square.

To summarize, I think FBP just needs some good tutorials & examples of useful, real world things, like web apps, mobile apps, games. Then if it's meant to be it will. Right now, as a guy with a computer sci degree who can slap a web app together with Rails, I can't comprehend where to start with NoFlo. It needs to be like Apple, simple and easy, elegant (at least compared to the alternative Windows). Everything is relative and NoFlo looks like a secret incantation, but we've all seen a billion Hello World examples in C/C++, Java, etc so we're all like dogs... as in when your dog escapes from home, most of them will spend the first few hours of their freedom walking the same route they did when they were chained to their master.

- Giant Elk

Matthew Lai

unread,
Oct 2, 2013, 9:35:41 AM10/2/13
to flow-based-...@googlegroups.com
In 1983 at the university I went to, a non big name one, we read one book on C programming (K & R), got our hands
dirty with assembly language programming, and got modular design concepts burned into my mind with Dr.Parnas
paper http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf. Nowadays universities teach Java,
so I do think much has changed :)


On Tuesday, 1 October 2013 21:55:05 UTC-4, Giant Elk wrote:

I can add that, in 1992 at the university I went to, a big name one, there was about 4 books in the library on C programming (the largest university library in Canada), the newest from about 1974 (18 year old books). The school book store wasn't much better. Our software engineering text book was about 20 chapters long, 1 was on Data Flow diagrams. And I've never heard about FBP until a few weeks ago. Now a days universities teach Ruby on Rails, so I don't think much has changed.


 Look at FBP as a glorified code generator? Thankfully I am a humble programmer so I never look at FBP that way :)
 I have my own FBP gui frontend (written in Tk) which I use to stitch up the components and generate the socket port numbers
used for component communication, either within one computer or across multiple computers.

I'm aware of all the code generators and higher level tools, and from the other smart tech developers I've been talking with over the past few weeks, they look at FBP & NoFlo like it's a glorified code generator. And code generators are deemed inflexible when you want to go outside the box. 

Matt
Reply all
Reply to author
Forward
0 new messages