The idea of Low Code, Visual Programming or whatever else it is being called has been around for at least 30 years.
It works well for certain types of programming where it is actually widely used:
User interface layout
Certain types of process modeling (Simulink, LabVIEW etc.)
But despite many attempts it never really worked for general software development. I actually don't know why. My guess is that you just don't get the flexibility of code.
And after all, what's so bad about code? Why should clicking buttons and dragging stuff through a complicated user interface be easier than typing in letters and words, supported by a good IDE?
Thanks for the insight Frank. I guess what might be considered bad about code is simply that it takes time to do, with a lot of repetition to kick things off. Component libraries help reduce time to code from scratch. There's also the challenge of communication with the business-side, getting clear requirements, etc. And thinking through architecture visually perhaps.
If an IDE had a visual workflow interface that allowed requirements communication and high-level modeling, and then also allowed flexibility of code within components, what else would be needed to make it genuinely appealing for more experienced developers?
Many people have the impression that:
Using GUI based tools = easy
Coding = hard
I strongly believe that this is a misconception. It probably stems from the fact that GUI based tools are mostly used for relatively simple tasks with a limited number of options while coding is the tool of choice for solving really complex problems.
Have you ever tried to modify a large document with lots of formattings, counters and references in MS Word or any other GUI based word processor and found that it behaves totally weirdly?
The inner workings of complex artefacts created with GUI based tools are often completely intransparent.
By the way, I am glad that I can use markdown for formatting posts on DEV instead of having to use menus and buttons.
To add more examples of visual programming languages:
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.