In my MVP Summit recap, I mentioned that I want to help contribute to the docs on docs.microsoft.com, including Visual Basic. Many people know that I’ve focused on C# the most in the .NET stack, followed by PowerShell. VB.NET didn’t get as much focus career-wise for me, as I had a rocky start with it and really fell for C#. However, I will forever have a soft spot for Visual Basic. But why? This is my story.
Visual Basic.. Back in the Day
The hobbyist in me managed to be exposed to Visual Basic way back in the day, around the days of VB3. Back then, the Internet wasn’t what it is today. We had to rely on help files and books, as Internet speeds weren’t the greatest. For me, I was just a teenager, one without a car. So rather than being able to get to the store to pick up a book (or rely on my non-technical parents to get a book for me)… I ended up just dragging, dropping, and figuring this stuff out. I learned a lot about how event-driven development worked. “Drag this button, double click… ooh… what’s this?!?” It was a hobby thing, one that I eventually followed through to VB6.
Visual Basic 6 was what followed me from a hobby into *gasp* professional programming. From an internship right out of high school, I was able to learn about VB and how to interact with grown-up databases (SQL Server and Oracle, much bigger that the Access databases I played with as a hobbyist). A couple summers later, I was able to sell myself into a position that needed a Visual Basic dev to take an Access database and migrate it to SQL Server with VB. The joys of being cheap labor and wanting experience – getting a great summer job doing VB6 for a Fortune-ranked company with a corner office overlooking downtown Cleveland!
.NET… Hmm… VB to VB.NET should be easy!
In 2003, I ended up in an IT department for a manufacturing firm. I had some IT roles as well as handling a lot of the software development. We had some things in VB6, and I foolishly thought that I could move right to VB.NET. This is just a new revision, right?! Right?! Or not…
When I realized that I had to break my event-driven VB6 mind for a more OO-related approach with VB.NET, a piece of me died. I learned OO in college with C++, but it wasn’t explained well enough for me to really retain the knowledge and apply it elsewhere. I didn’t want to do this OO stuff – it seemed more complicated than it needed to be. I was mad about VB.NET – why did we have to lose such a simple event-driven language and go to this OO-esque beast?! VB…. VB.NET… why?!?
C# to the Rescue!
After the manufacturing firm, I took a C# developer position, with 0 C# experience. Surprisingly, the syntax from C++ and Java in college lingered under cobwebs in my memory, and I was able to dust away those cobwebs to pick up C#. OO made sense again, and I could do this in C#. My mentality for C# was right – I knew how to apply OO to the curly brace languages.
Seeing the lifecycle in Web Forms really helped me understand the event-driven versus OO mindset. Why? Because I figured out how Web Forms worked, when controls were rendered, and how to make it bend to my will. When MVC became a thing, I fought it at first and then realized this was the same issue I had earlier. Once I just let it go and figured it out in C#, the “ah ha” of VB.NET started to sink in.
VB.NET, Take 2…
After years of C# and having the VB.NET “ah ha” moment, I had a fun task of converting a bunch of C# training sessions to VB.NET. The client runs a VB.NET shop and needed developers from other languages skilled up. The polyglot in me had no problem doing this, and when I found out that their architects were pushing for Option Explicit and Option Strict, I was happy to see good form. Seeing their code reminded me of my VB6 past, and seeing the .NET-ness of it all made me happy to see it all come together.
So why the VB docs?
My history in VB development reminds me of a wonderful past, when I was curious about programming and really into exploring the language without a guide. Seeing the evolution of the language as well as my maturity in understanding languages grow, I’m excited to see where VB is going. I also feel like C# has a lot more eyes on it. I feel like a lot of people don’t understand VB or they quickly discount it as not C#. Well, yes, it isn’t C#. But it shouldn’t be seen as a lesser language. Also… some people think VB is dying or is dead. However, this came up at the MVP Summit this year, citing this MSDN post on the .NET Language Strategy:
— Klaus Löffelmann (@loeffelmann) March 6, 2018
Yes, that’s Kathleen Dollard. She was an MVP for 20 years and is the PM on Visual Basic. If you don’t know her, you should read up on her and catch videos of her – and if you get a chance to see her in person, do it! She is quite vocal, and with that knowledge, it’s good to see VB in good hands.
So… why VB? Because… it still has a piece of my heart. And if there’s anything I can do to help with that, I’m going to try where I can.