> visual programming tools are like GUIs and they are the main reason that people can't code nowadays.
Lots of people can't code, and most programmers can't code well, yet very few people have been exposed to visual programming tools.
I'd look elsewhere for explanations:
(1) If those with more aptitude for programming are more likely to become programmers, and the demand for programmers increases, programmers with less aptitude have to be hired. (And the problem is made worse by excluding experienced older people when hiring.)
(2) Whatever the reason, very few women become programmers now compared to the past, so almost half the population is being excluded.
(3) There's less diversity in software now. There's only two operating systems (with the same user interface), and only imperative languages augmented with object orientation, mostly with C syntax, so programmers only learn to think in one way.
(4) Personal computers nowadays are basically appliances which you can just use without programming, and that's what most people do. When they first became available, there was very little software on them and a far greater incentive to learn to program so that you could make them usable. For many people back then, programming became an end in itself.
> Visual tools don't teach you to code, they introduce an unnecessary layer and create an even bigger insecurity when dealing with real code.
There are different kinds of visual tools. Some visual tools (like, if I'm not mistaken, Bubble) are code generators so aren't designed to teach you how to code. Others are programming languages in their own right with no textual substrate, so there's no extra layer.
It isn't as if you need visual tools to introduce unnecessary layers anyway. There are now frameworks and other unnecessary layers, which of course mean you need more programmers to handle the additional complexity, and then you have problem (1). If the software industry designed aircraft or bicycles, you'd never be able to rotate your plane or ride your bike uphill.
> Real coding with text is quite easy
No it is not. Programming is hard however it's done, even visually. Concurrent, type-safe programming is even harder, and it's here that visual dataflow programming would help. MIMD programming is problematic in textual languages because there's an explicit ordering of operations, and there are synchronization issues which have to be addressed. Switching to the dataflow paradigm avoids this, but dataflow is difficult to express in text. Also, textual languages make type inference and code optimization harder.
> A very good example for an educative text-based coding environment which is even functional is Logo. But again, the best way to get into coding is to get an OS on your personal computer which focuses on the shell.
I agree with you about Logo. But Logo originated and was closely associated with the Lisp community centred around MIT, which had a very different way of doing things from Unix approach you seem to favour: a listener instead of a shell, multiple windows, and a programming language very closely integrated with the operating system.