I disagree with that comment about BASIC, for a few reasons.
First, you can say that about any language when trying to learn another. The classic “writing Fortran in Lisp” concept. Learning to write idiomatic BASIC doesn’t prevent you from learning to write idiomatic anything else.
Is there some, perhaps, unlearning necessary? Of course there is, as with anything. But it’s not fatal.
Second, it’s hard to appreciate how good something is until you’ve fought through something else that could have benefited you, if you knew it.
Early BASIC is not very expressive, and therefore limited. When you move on to something more modern, you don’t necessarily take it for granted. “Oh boy, this is so much better!”
Now you know WHY it’s better rather than just accepting it as rote. That leads to just a better, and deeper understanding of the whole field. When you were implementing your first B-tree, or hash table in raw C, you learn to appreciate why the one in the utility library, that you get for “free” may well not only be better than the one you copied from your “Data Structures 201” book (since it just may well be a more advanced algorithm), but you’ll realize how it works as well.
In contrast just blindly drag and dropping one into your project because you found a link on the internet.
Similarly, while it’s easy to condemn these older systems, if you ever go back and try to do work on some of these vintage systems, at their vintage speeds, you may well appreciate why something like BASIC was limited in the ways it was.
Are the more advanced language features worth the expense they incur? Maybe, but also maybe not.
Maybe for some the habits they learn have life long impact, but I don’t think being exposed to different idioms and methodologies of software development is a bad thing. Let’s folks learn and understand where those sayings and “best practices” they blindly apply (and not always necessarily for the better) come from.