"I'm afraid there've been no progress at all since LabView."
Good observation along with the other posting here, but the potential for visual (graphical) programming paradigms have only scratched the surface over the last several decades. New computer science is overcoming many of the drawbacks while offering the potential to truly engage the powerful pattern matching capabilities of our minds in the development of software systems, especially in the emerging parallel programming domain space. This new science is called Cubicon. Here is a conceptual description of this technology:
Icon expressions form the Cubicon invention, whereas its meta-object representations form the Cubicon innovation, fusing form and function as one medium. The development of Cubicon was self-contained. It was based on the premise that traditional programming approaches are no longer producing sufficient advances. Cubicon takes each of the language constructs that comprises the vocabulary of syntax, semantics, and context - and substitutes a graphical representation for the traditional use of every one of them a new interpretation. In short, Cubicon is a completely new graphical language, a new way of looking at the programming world, a clearly defined graphical algebra. As a graphical innovation, Cubicon supports the construction of a program in terms of a framework, the fusion of objects with their surroundings, and the combination of several views of an object expressed as language elements in a cube. This conceptual approach led naturally to a selection of simple geometric forms organized as interacting perspectives. The value of this approach to programming lies not only in the presentation of the language elements, but also in the dynamism that emerges from their composition, one that is perfectly controlled.
The ‘art’ of software development can evolve more quickly into a true ‘science’ through the wide adoption of Cubicon. Its science could lead to the third “killer app” category beyond the management of ‘words’ and ‘equations’: empowering a wide segment of the population with the ability to personally develop and manage general systems. This theory characterizes any system by the interactions of its components and the nonlinearity of those interactions.
Expressing abstractions such as a cat, mammal, and animal taxonomy in programming language words does not convey a sense of context in general systems. A ‘picture can be worth a thousand words’ with intuitive graphical abstractions. Cubicon leverages a basic human capacity to effectively deal with spatial information in the expression of general systems as a sharable mental Cube Model. Cubicon is a multiple paradigm language, enabling a domain expert to express intricate program structure and behavior in a completely syntax-driven and semantically bound declarative environment that effectively abstracts away the underlying computational engine much like an electronic spreadsheet.
The Cube Model has seven principle perspectives expressed as multiple schemata:
Topic Map - Graph substrate for topics and their associations
Genealogy - Ontology schema of concepts and templates
Composition - Parts-of-a-whole schema between collections
Network - Links between objects that carry messages
Collaboration - Directory of all software components and their dependencies with other communities
Image - Graphical user interface
Behavior (cube center) - Process-flow, control-flow, and finite state machine (FSM)
The Cubicon IDE also includes additional perspectives that collectively are used to capture, map and execute human intent within an immersive environment. General systems can be simulated in high definition where any selected language element can be instantly viewed from multiple perspectives, always remaining agile for recombination as system requirements change over time.
Declarative programming has been applied through many graphical dataflow-based languages over the years. These languages present prepackaged 'what' behavior in higher-level abstraction icons that can be connected through ‘wires.’ The challenge of this approach is the need for a source organization to support an explosion of icon types to cover all possible use cases. Placing the burden on their developer community to customize the icon 'how' behaviors requires a novice to crack open an icon into a scripting language. Thus, this approach defeats the original purpose of the declarative approach to shield the domain expert from this far less constrained text expression. Getting to an equivalent declarative approach like a spreadsheet requires a different approach for use in programming of general systems.
Instead of abstracting the ‘how’ away, the extended applied research work in Cubicon’s development tackled the task of fully automating imperative programming. This is where a micromachine-based language was an effective solution. It enables a domain expert to express intricate logic in a highly automated environment. Cubicon pushes the declarative language style down through control-flow and into the finite state machine (FSM) level of abstraction. Real-time execution is performed under a synchronous reactive model of computation (MoC) that guarantees deterministic interactions with the ambient environment. Not rocket science, just an exhaustive meta-design performed by decomposing the abstractions that comprise general systems, essentially removing the mystery out of working with the low-level programming 'gears and springs.'