3 ms·
VB.NET has only superficial similarities to VB 6 and before. Microsoft discontinued the original VB in favor of VB.NET, but the engine lives on in VBA and Micro
by bitwize 4y ago
VB.NET has only superficial similarities to VB 6 and before. Microsoft discontinued the original VB in favor of VB.NET, but the engine lives on in VBA and Microsoft has used VB6 to build various internal things (I think some of the UI to Windows Defender is VB6).
But for most "Microsoft shops", VB6 was a dead end, and that left a lot of VB developers out in the cold. They had to reskill with the .NET stuff (significant, especially in the early 2000s), or starve.
- mschuster91 4y ago> I think some of the UI to Windows Defender is VB6 ... What?! Amazing they still have running tooling to build it, and I don't even want to know what bad surprises hide in the redistributable runtime.
- brushfoot 4y ago> VB.NET has only superficial similarities to VB 6 and before. There are differences, but the similarities are more than superficial. Some of my first apps were in 6, and then I transitioned to VB.NET in the early 2000s. At the very least, it pretty familiar and intuitive. Even VBA is pretty similar to the VB.NET apps I developed in terms of OOP, syntax, autocompletion in the editor, event handlers, and so on. Again, there are definitely differences, but there was no "[relearning] software development and getting intern like opportunities" like the comment I was replying to said, and my knowledge and experience was definitely not "worth exactly zero." It was just an evolution.
- Jtsummers 4y ago> They had to reskill... This always baffles me. It doesn't surprise me, but it baffles me. Why are so many professional developers having to "reskill" to adapt to a new language? We're not necessarily talking about new domains (that would be different, there's a lot I don't know about server administration and automation, for instance, given my background primarily with embedded and desktop systems). But a language? And a procedural/imperative language? VB, C, C++, Pascal, Delphi, C#, Java, JavaScript, Ada, Python, Rust, Go, Fortran, etc. are all, fundamentally, procedural/imperative languages with varying degrees of OO, functional, and metaprogramming capabilities distinguishing between them. Some are bigger jumps (I'd point to Rust as the biggest in that group) than others, but what "reskilling" does a programmer or developer need when switching between languages in roughly the same language family? It's not like they had to jump to Haskell or Prolog or something that was majorly different.
- stcroixx 4y agoDid you use VB6? It was less a language and more of a wysiwyg windows desktop GUI application builder. If that's what you learned in school and it was your first professional job, you would have a very difficult road ahead of you learning something like C. Maybe 3 out of the 20 were successful moving on. Some VB apps had almost no code at all that wasn't auto generated by the platform and bound to UI elements to handle button clicks and so on.
- Jtsummers 4y agoI did, yes. But not a lot. > Some VB apps had almost no code at all that wasn't auto generated by the platform and bound to UI elements to handle button clicks and so on. Then they weren't programmers, so I could see them having to "reskill" (actually become programmers). But if they transferred to another wysiwyg toolkit then there is still no reskilling, just relearning (as I mentioned in my cousin comment to this one). Knowledge isn't skill, it's just knowledge. If your knowledge ends at "I know how to use this particular toolkit" and your skill is "I can do it quickly, make it functional, and make it pretty" then the skill should be transferable while the specific knowledge may not be and you may have to learn new knowledge. But the skill remains.
- pjmlp 4y agoJust like using VB.NET with Windows Forms, and version 2 introduced back all the Me stuff and some of the semantics that were initially left out. I not only used VB 6, I used version 3 when VBX was the only option for 3rd party components.
- ygjb 4y agoVB6 is an entirely different beast. A professional VB6 developer who didn't have formal training was very well insulated from what their code actually did - that's not to say that they weren't, or that their weren't extremely talented VB6 developers. It's just that for many developers who fell into it from scripting or who invested all of their time and learning into the pre-.NET ecosystem, they had to choose to relearn a significant amount of technical content. Even though the languages were syntactically similar, jumping from VB6 to VB.Net meant learning an entirely new framework and object model, and having to deal with some issues that were hidden from them before. In many cases it was as different as using BASIC vs Pascal or even C to write CLI tools (a hurdle I jumped in high school in the mid-90s, and despite doing alot of stuff with PEEK and POKE in basic, understanding pointers took me longer than I care to admit :P)