Well, a language that allows something like "On Error Resume Next" is not that great by any definition of the word...
Having said that, I must also say that I started coding on VB6 and if I had to show some elemetary programming to a ~10-yo, I'd give them something like QB64 in a heartbeat. There's something good in grappling with a "bad" language, educationally speaking.
What do you mean? I thought runtime errors in C were almost always catastrophic; the real issue is UB (first example that comes to mind is out-of-bound array access; sometimes you segfault sometimes you just get random data) or, in general, stuff that should be an error but isn't
EDIT: Ah I guess you were referring to arbitrary code injection after, say, a stack overflow? But I think that's a runtime issue rather than a language one (hard to draw a line in a systems PL, but still)
I was more in the line of not checking whether you got a valid fd when you open a file and trying to use it nevertheless. In BASIC, when you try to open a file that’s not there, by default you get a runtime error and the program exits. If you do an “On Error Resume Next” the program will happily proceed with invalid data.
It was a running joke about how bad it was. It was a bit before my time although, but even when I saw people use it as a kid and playing with it myself, it was pretty obvious how fast it was in making things.
tl;dr: Aside from whatever flaws the VB6 language had, people writing so-so code in VB6 contributed to it's reputation as being a bad language.
Something that my sibling comments haven't (yet) mentioned:
VB6 was really easy to create a GUI with, had great DB support, and was a pretty easy language to get started with. Given that a lot of business apps boil down to "present a nice, user-friendly interface to the company database" (particularly biz apps for smaller businesses) VB6 was a great fit for business consulting types. And use it they did! There were a lot of business consultant types writing code in VB6. They were smart people but not necessarily the most hard core coders.
I think that's part of why VB6 coders (as a group) got a reputation as being "lesser" programmers - they were derisively called "code monkeys", etc.
Regardless of the language itself, I think that seeing a lot of "minimally viable code" being shipped by people focused on delivering business apps helps to contribute to VB6's reputation.
Side question: I wonder how many people here on HN have a 'career origin story' something to the effect of "Yeah, so I was in college/high school/middle school, and the <name of small organization/mom-and-pop business> wanted to use their computer to streamline things. I was just learning how to code but was able to get VB to do <minimal but useful task> which really helped <org mentioned prior>. Looking back on it that was some really gnarly code I wrote, but it worked, <the org> appreciated it, and it got me hooked on programming"