Flow Based Programming, 2nd Edition: A New Approach to Application Development

Flow Based Programming, 2nd Edition: A New Approach to Application DevelopmentWritten by a Programming, 2ndEpub #220pioneer in the field, this is a thorough guide to the cost and timesaving advantages of FlowBased Programming It explains the theoretical underpinnings and application of this programming method in practical terms Readers are shown how to apply this programming in a number Flow BasedPDFEPUB orof areas and how to avoid common pitfalls This is a revision of the original book, describing a number of related approaches and uses of the technology that have developed since the book first came out.

Is a wellknown Programming, 2nd Epub author, some of his books are a fascination for readers like in the Flow Based Programming, nd Edition: A New Approach to Application Development book, this is one of the most wanted John Paul Morrison author readers around the world.

Flow Based Programming, 2nd Edition: A New Approach to
  • Paperback
  • 370 pages
  • Flow Based Programming, 2nd Edition: A New Approach to Application Development
  • John Paul Morrison
  • English
  • 02 May 2018
  • 9781451542325

10 thoughts on “Flow Based Programming, 2nd Edition: A New Approach to Application Development

  1. Tony says:

    A common refrain, in software development, is the need for code reuse. Object-Oriented analysis and design is an attempt to to this. After all, if you have a significant library of pre-written code which yet can leverage, that saves you from reinventing the wheel and allows you to deliver finished projects more quickly.

    There is another issue which software development is running into: parallel processing. Most code written, whether object-oriented or otherwise, is written in a rigidly procedural fashion. And why not: that's the basis of Von Neumann architecture. That's what we're used to. Unfortunately, that's not how things will work, going forward. While multiprocessor machines used to be extremely expensive, extremely high-end systems, they are found everywhere, today, including in cellphones.

    The author, originally, put together a system where various components were pre-compiled and could be "wired" together into networks which comprise complete applications. He was able to reuse existing code, with very little new code being written. Because the various components were connected in asynchronous fashion, the various components could be time-shared on a single processor or spread across multiple processors in a large system, or even scattered across multiple machines spread across the globe. Ergo, this system solves the code reuse problem and solves the multiprocessing dilemma.

    This isn't some theoretical exercise; this code has been in production use for multiple decades.

    This was, originally, developed at IBM Canada in the late 1950's and 1960's. And, once you wrap your head around it, it's extremely intuitive.

    Anyone who has done a "one-liner" on a Unix system, making use of the "pipe" to send the output of one command to the input of another, understands this. Unix systems have plenty of small, special purpose tools which accomplish certain tasks on a stream of text. Take this idea, turn it up to "11," kick it up a few notches and put it on steroids and you approach Flow-Based Programming.

    Anyone who has used a spreadsheet, where this cell depends on that cell and this other cell depends on this cell, gets this. Now, instead of a single piece of data going into the first cell resulting in a bunch of calculations, imagine all of the records from a database query being plugged into that cell, in turn, with the results being collated into a report or another database.

    In both cases, the calculations/transformations are broken into bite-sized pieces which makes the logic easier to develop and maintain. In both cases, hardcore developers have developed the tools and less skilled people can use these tools to accomplish the tasks.

    Years ago, I was working for a web design firm. The were developing some projects using Coldfusion, where the designer adds custom tags to the HTML. The person doing this can be mostly a graphic designer, with limited programming skills. I theorized that such a company would need one or more of such people. But, when new capabilities are needed, they would also require one or more hardcore programmers who can create new tags, when needed, which the graphic designers could use. This way, the graphic designers could focus on what they do best and the hardcore programmers could concentrate on what they do best.

    Traditional web-based development, as I'm experiencing it today, is not that way. I write HTML, CSS, JavaScript and server-side Java. This means that someone who is NOT a particularly good graphic designer is doing both front-end and back-end development. In the meantime, we have people who are graphic designers trying to program. There is little separation between the two, and there should be.

    That same pattern should also be usable with application and report development. There are people who know the business logic well, who aren't so good with programming. There are programmers who are excellent at querying and processing data, but don't know the business well. Indeed, that is one of the things businesses are most heavily seeking in programmers today: the ability to become experts, not just in the technology, but in the business, as well. These are very different skillsets. It's no mystery why people who can do both tasks are in such short supply.

    You can find ways to separate the layers, so that people with different skillsets can excel in their particular areas. Or you can push people to become Jacks-of-all-trades, but masters of none. Flow-Based Programming allows you to do the former. Solving the twin issues of code reuse and multiprocessing is just icing on the cake.

    If you are a programmer who is ready to have your mind blown, acquire a copy of this book and dig in.

  2. Khashayar Toodehfallah says:

    An absolute gem of a book that helps you discover the magic in large scale collaborative programming and shows you how back-office integration work using business applications can be... fun? I really think this book needs a new edition right about now. The field has exploded in the past 5 years (does Zapier count?) and some of the references and examples aren't intuitively understood for a newly minted programmer.

  3. Andrew Pankow says:

    This book is incredible! It is also incredibly difficult to read. I would recommend this book to any 3D technical artists who wish to delve deeper into shader network or procedural network comprehension like those used in Houdini, RealFlow, and Maya. But warning to the wise... have Wikipedia and Google at the ready.

  4. Andrew Pankow says:

    I highly recommend reading the newer edition. But if you don't have the money or aren't sure about the spend, this edition is only dated in it's examples and references... the information is all there. Due to its outdated references, this editions is a bit on the difficult side to read (not that the newer release is any easier).

  5. Philip Kromer says:

    Written by a forgotten pioneer who envisaged the modern lambda architecture several decades before it became possible and necessary.

Leave a Reply

Your email address will not be published. Required fields are marked *