4 ms·
Are we talking VB6 or VB.NET? VB6 is... old, and feels old. It barely allows object oriented programming and doesn't have first-class functions, so you're pret
by roywiggins 12y ago
Are we talking VB6 or VB.NET?
VB6 is... old, and feels old. It barely allows object oriented programming and doesn't have first-class functions, so you're pretty limited to a procedural sort of paradigm. The IDE is clunky. For example: error handling is done with explicit GOTOs (ugh) and "On Error Resume Next" lets you simply skip past errors(!!!).
VB.NET is basically a friendlier-looking version of C# and is therefore not nearly as bad as VB6, has a real modern IDE, etc.
Python feels like a playground where you can explore; VB6 feels more like you're on a rail and the moment you fall off everything will break.
- smacktoward 12y ago> VB.NET is basically a friendlier-looking version of C# and is therefore not nearly as bad as VB6, has a real modern IDE, etc. Yeah, but my feeling has always been that, if you drew a line called "complexity" with VB6 on one end and C# on the other, VB.Net would be much closer to the C# end. Which sort of calls into question what the benefit of learning VB.Net is; for nearly the same amount of effort, you could just learn C# and benefit from all the additional tooling and support options that C# offers. The big draw of VB through version 6 was precisely that it wasn't a "real" language -- it was much, much simpler than a "real" language, and therefore so easy to learn that practically anybody could do it. VB.Net on the other hand always felt more like they just put C# into a T-shirt that says "I'M WITH STUPID."
- icebraining 12y ago"On Error Resume Next" lets you simply skip past errors Is that very differently from "except: pass" in Python, though? Most languages allow you to skip past errors, the problem with VB was the culture of the users who didn't treat that as a red flag, not the language feature itself.
- roywiggins 12y agoOn Error Resume Next is actually weirder than an empty error handler. If Python errors halfway through a try/except block, it will skip the rest of the block. If you On Error Resume Next, VB will literally just proceed to the next line and keep executing. And since you don't need to indent the block that comes after On Error, it's easy to miss that line...