VB was pretty much designed as a programming language for non-programmers. As a result, while a good developer can write very good VB code, it's also very possible for a bad programmer to write very bad VB code that will still work. It's possible to write bad code in any language but, because VB is so forgiving, it's far easier to make a program work with bad code and little real understanding in VB than many other languages. VB got a bad rep for two main reasons, one mostly deserved and one not so:

1. Far too many VB developers didn't take enough pride in their work to develop a genuine understanding of what they were doing. VB made it much easier to take a "path of least resistance" approach, and many people did. Many developers from other languages were right to disrespect people who wrote bad code because VB let them. Unfortunately, that disrespect tended to be directed and those VB developers who did take pride in their work too.

2. VB made programming easy. Many developers, those from C/C++ particularly, wanted programming to remain an exclusive club. If any idiot could program, that made them less special. Because VB was like using Duplo blocks (little kids Lego) compared to using Mechano in C/C++, VB developers were considered a lesser species of developer, even if some of them would have been smarter people than those looking down on them.

VB.NET does continue the tradition of making programming easier for the beginner than many other languages. That said, it has inherited its bad name from VB6. If VB6 and earlier versions had never existed, noone would have an issue with VB.NET. Just live with it and laugh at them while you relax for a few weeks after completing your application while they continue to struggle with theirs that doesn't look as good or do as much.