Pretty much all our apps at DuckheadSoftware were written in vb.net; however, our servers were ‘hacked’ and we ‘lost’ a lot of source code. We can piece it all together from various backups, but it’ll take time; the positive is that it made us step back and look at our code base (and server security).

To be honest, we don’t care if our apps are coded in vb.net, C#, F#, Java, etc., as long as we get a great Windows experience. We don’t care about peoples ‘view’ of vb.net, we use it, it works, it’s performant, we can code it in very quickly, and we have a library of code going back years.

As a coder, I get told “but the market pays more for C# coders” – I get paid the same either way, maybe I’m unique in that, maybe vb.net is becoming a more sought after skill as less people can write in it and companies still need to maintain old code bases. I also get told “you’re not a real coder if you use vb.net”, I generally ask people like that to put some facts behind that, or explain it further, or to go away and stop being pompous.

So, we sat back, lined up another beer, and looked at the future. Is vb.net dying? answer is ‘no’, not for at least a decade and things can change a lot in ten years. Do we want to use the new .net core 3.x, yes we do, but can’t in vb.net until 2021, that hit home a little, but then again, what does .net core 3.x offer? a few performance improvements and some new features only available in C#. It’s still not fully mature, even Visual Studio is just now getting WPF support for it sorted, UWP/Xamarin still doesn’t support it until the end of 2020, and Xamarin in late 2021.

Then the thought of rewriting all our code was too much and we had to get more beer.

When we looked at what we might like to do in the future, we thought about MacOS apps via Xamarin, and that requires C#, it will also be a few years before it’s ready – but do we carry on, on a path that’s incompatible with Xamarin, or make the move for all new apps to be in C# ? Then we thought about access to all the new Windows 10 API’s (UWP/WinRT), that comes in .net core 5.x at the end of this year, but will it come to vb.net?

We chose to make the move. All our new apps are in C#.

This gives us access to all the latest features as they come online from Microsoft. In the next blog, I’ll go through how we started the transition.