In 2016 I will have been writing software for thirty years. That’s a long time and the first twenty years of that were spent writing text adventures and hacking extra lives for games. I’ve never programmed on a very low level, working mostly with various Basics, Web Technologies and scripting languages.
For all of that time the essential tasks for me have stayed exactly the same; Firing up a text editor that allows you to write some sort of instructions for the computer to translate into some activities. There have been attempts to introduce more visual attempts at development with Visual Basic, Dreamweaver and Delphi.
All of these seem to have failed at some level or another and the command line is enjoying a renaissance that would make the Steve Jobs from 1984 turn in his grave; Developers choose to use a Mac because for the CLI.
In it’s twenty years or so the web as a platform has gone through multiple different phases and the dynamic technologies such as React.js and AngularJS that we can create truly amazing applications in. But compared to HyperCard, an early hypertext environment these technologies are still lacking in accessibility:
Simply put, HyperCard is an erector set that allows non-developers to put together interactive information
— Bill Atkinson, 1987
Content Management Systems allow people to publish content for the web, but creating programming flows with tools such as early WYSIWYG web editors like Dreamweaver allowed you to do this. Functionalities can be added to sites built with CMSes using widgets, marketing automation tools and whatnot, but it leads to a patchwork of non-integrated bits and pieces.
Developers will always need to have deeper knowledge than the layman, but with the rise of Web Components and Flow Based Programming we could allow non-developers to create business logic for web applications by themselves:
Flow Based Programming (FPB) itself is not a new idea: it comes from a term IBM used in the 70s to define the concepts of more manageable business workflows. NoFlo, however, refreshes these concepts and brings them to HTML5 and Node.js applications.
The commoditisation of basic level web development should have happened a long time ago. Maybe FPB and Web Components will allow for this to finally happen.