What’s the Role of Visual Programming in the Software Industry?
For a long time, visual programming has had the reputation of being a teaching tool for beginners to get familiar with programming concepts, and to create simple user interfaces and prototypes.
The reason for that has to do with its background.
Visual programming’s hype peaked in the early 90s with CASE tools. And, as with all trends ahead of their time, the repercussions of its failure were years of underinvestment, little innovation, and lingering skepticism.
UML (Unified Modeling Language), with its promise of bringing sanity to object-oriented programming, hasn’t helped either, although much of its faults were due to the underlying complexities related with inheritance.
And even more recent trends, like Business Process Modeling, probably did more harm than good in giving credibility to this area.
CASE tools, UML, and BPM failed to deliver their promises.
As software development becomes increasingly more complex, with new frameworks, technologies, devices and touchpoints to be considered, developers are ordinary people with extraordinary specializations.
That complexity and specialization are badly suited to the pure visual programming of those early tools, but it also makes it increasingly hard to build rounded software engineering teams.
Yes, visual programming environments might have failed as they:
- Aren’t extensible
- Generate slow-code
- Provide a painful developer experience
- Are suitable for a limited number of simple use cases.
But where they failed, a whole cache of similar tools took the best of visual programming and combined it with text-based coding.
Whereas visual programming was “no-code” these new tools are low-code.
Low-code and visual programming
Low-code technology lets developers create software visually by drawing interaction flows, UIs, and the relationships between objects, but supplementing it with hand-written code where that’s the better thing to do.
This pragmatic mix of visual and text-based programming is well suited to the needs of modern software development.
Low-code platforms reduce the complexity of software development and return us to a world where a single developer can create rich and complex systems without learning all the underlying technologies.
Want to know what you can build with low-code? Check out this article.
Next Generation of Visual Programming: Delivering on the Promise
Visual programming held so much promise, and the problems that it wanted to solve haven’t gone away. In fact, they’re more relevant than ever.
But real-world problems demand greater flexibility than visual programming could offer. Low-code takes that promise and applies it to reduce the complexity we find in modern software development.
So, ask not "what is visual programming?" Instead, ask "what is low-code?".