For instance, people who have a very strong addiction, perhaps smoking or consuming addictive substances (nothing personal), even if they've only done it for a couple months, it's going to be hard to quit (depending), generally, at least. And in several cases they're going to have to make radical decisions if they want to quit.
In "programming", if you get used to the sweet and delicious simplicity of dragging and dropping you're going to think that programming is very easy, incredibly easy.
You don't have to worry actual problem solving or language and computing related concepts like "cryptic" errors, efficiency, architecture, frameworks, libraries or any other programming concept which may drastically vary depending on the tools you use, but that is essential to write testable, maintainable, functional, meaningful and just good code itself, for you and the computer. NOTE that I'm not saying you should worry about that as a beginner, but it starts you off with the wrong foot if you don't get exposed to none of that. And once you do get into real programming (not necessarily profesional programming) you're going to be like that person that tried to quit smoking or drinking and just couldn't because it was too big of a challenge, because of how long they've been feeding that addiction (or how long they've spent "coding" with visual languages, cough Scratch). You're not going to like it, you're going to back off and become disappointed. It happens to a lot of us, we had the completely wrong mindset, we weren't looking at the big picture.
The big picture that I'm talking about is having that knowledge or right mindset. That allows you think the right way, that a Programming Language is just a tool, (if Java dies what's the big deal? (Says someone who programs in Java)) there are other languages, you shouldn't focus on just learning a language, because they should be quite straight forward, but focus on problem solving. That's what we do as programmers, we don't spent our lives learning a language, that's absurd, that's like studying English for your whole life and never using it to start a conversation. You need to start off with the right foot. I'm not saying you can't quit smoking, but is better if you never do it. In other words and less metaphorically, I'm not saying you can't change your mindset, but is better of you start with the right one. In the end, if you want to smoke, go ahead, if you want to start "programming" that way, go ahead, if you ever want to quit is going to be harder, if you ever want to program for real is going to be tougher.
Real programming makes you better, it doesn't matter what language you do it on, you can always translate your knowledge to other languages, just like you would in real life. If you know how to say something in English, then there is a way to say it in Spanish, even if you have to use context and other things to add substance to the meaning of a phrase or word. If you can't that just means you don't know enough about the the other language (If you want to learn multiple anyways). But at least you have the idea, the mindset.
If you're kid, or have a kid. Then drags and drops would be just fine.
I want to clarify something, I don't disagree with most of the stuff you posted, which means, I'm not a negative, more of a neutral plus-ish on what you claimed.
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.