"Flow-Based Programming"

by J. Paul Morrison (Van Nostrand Reinhold, 1994)

Review by Tony Stevenson.

If you love programming, put this book on your Top 10 Wanted list of 1995. The concept of Flow-Based programming (FBP) is unique. It's not a procedural approach, in the way you would traditionally program Pascal or BASIC applications, and neither does it fit the object-oriented paradigm. It can't really be classified as new, because the author--who is also its inventor--has been successfully using this programming style himself for more than twenty years. It is a theory that, in some ways, was born before its due time. The impression gained from the book was that the author, whilst happy to recognise the growing popularity of object-oriented techniques, feels that FBP has something extra to offer to application developers. Now is the time to introduce it to a much wider audience than he has done in the past. Hence the book!

FBP is based on three principles:

Big words, but what do they mean? An asynchronous process is one that is independent in time -- that is, unsynchronised. A data packet is a self-contained and organised amount of data that has a specific lifetime (it is created then destroyed later), whilst a connection is a route between two processes, along which the data packets travel. FBP is not so much a way of programming but rather a way of coordinating these packets of information, processes, and connections to achieve the desired results.

This is a book to enjoy, but to do that you have to suspend your belief that the ways we currently program--procedurally or using object orientation--are the only ways it can be done. It is a thought-provoking book that, hopefully, will leave you feeling dissatisfied with the programming tools and techniques we currently have at our disposal. Let the new age of programming begin!"

Tony Stevenson

Monash University