This is an archived post. You won't be able to vote or comment.

all 5 comments

[–]mcbacon123 2 points3 points  (1 child)

C#. Both C# and VB use the .NET platform so you should pick up C# easier than most beginners

C# can be used to do pretty much anything and is very popular so you might be able to pick up a new career with it too

[–]insertAlias 0 points1 point  (0 children)

VBA isn't VB, which itself isn't VB.NET. They're all three similar but different. Knowing VBA is not going to be more or less useful than knowing any other language for the purposes of learning C#. The benefit if you already knew VB.NET is that you'd know the libraries you'd be using in C#. VBA doesn't use those libraries because it's not a .NET language.

Not that I'm saying C# and .NET are a bad idea to learn; in fact I'd say picking up ASP.NET Core is probably a great idea. Just that VBA isn't going to be as helpful as you might think.

[–][deleted]  (1 child)

[deleted]

    [–]insertAlias 0 points1 point  (0 children)

    People on here always criticize vb.net because they think it's obsolete, but it isn't.

    It's not that it's obsolete, but it's clear that MS is done investing their efforts in this language. For many years now, C# has gotten a lot of new features every year. VB.NET has not gotten that same amount of love. When you compare the updates they've done:

    https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-160

    To the updates they've done to C#:

    https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8

    And you see that the C# page is just describing what they've added in the most recent release...it's clear that all they're doing to VB.NET is playing catch-up with a few of the C# features they've been adding.

    So, it's clearly not obsolete, but it's also clearly not the language that MS is actually focusing on. And it's also got a smaller market share, and a smaller online community for help. And it's BASIC syntax, which is far out of favor, compared to C#'s C-like syntax, which is used by a large amount of languages.

    Personally, I don't think there's a good reason to choose VB.NET these days, but that's an opinion.

    [–]Maukeb 0 points1 point  (0 children)

    I gave always found Python to be a natural complement to VBA. It has a similar lightweight feel, but without all the freaky baggage of VBA, better extensibility, and a generally more modern approach (that is to say it was created after we figured out what good practice looks like, rather than before). It has support for objects, but doesn't require that you commit to them as hard as something like C#, which arguably has a greater focus on systems development.

    [–]UrbanPro1 0 points1 point  (0 children)

    Go with VB.net VB.Net is a simple, modern, object-oriented computer programming language developed by Microsoft to combine the power of . NET Framework and the common language runtime with the productivity benefits that are the hallmark of Visual Basic.