...the fundamental problem with these are that it's extremely hard to build big and complex software without making it look like a huge mess...
In my view, text based languages could be this way too, except that the habits of making code at least marginally readable (e.g., indentation) and modular (subroutines, local variables, etc.) are drilled into everybody who learns programming, or learned through "the apprenticeship of observation."
Also, those habits require only a bare minimum of physical effort, such as reaching for the tab button or enclosing some code in a function definition.
I think a problem with graphical programming is the sheer physical effort that it requires, encouraging sloppy work. Maintaining readable code as it grows in complexity is a major chore, involving physical and not just mental, effort. In practice it doesn't happen.
In my view, text based languages could be this way too, except that the habits of making code at least marginally readable (e.g., indentation) and modular (subroutines, local variables, etc.) are drilled into everybody who learns programming, or learned through "the apprenticeship of observation."
Also, those habits require only a bare minimum of physical effort, such as reaching for the tab button or enclosing some code in a function definition.
I think a problem with graphical programming is the sheer physical effort that it requires, encouraging sloppy work. Maintaining readable code as it grows in complexity is a major chore, involving physical and not just mental, effort. In practice it doesn't happen.