From: King's Landing
If no-one would mind I'd like to refocus this to two different examples as it seems the very width of what a wargame could be means that different languages might each be best for quite different games.
So, which would be best for:
1. A grand strategy title, 2d, turn-based, top-down and with a need to just run lots and lots of database queries so as to plug the results into the various combat algorithms. From what I've read C# might be a good choice as it allows the whole editor side of things ( a huge aspect of a Grigsby-esque game ) to be speeded up.
2. Isometric, sprite-based, turn-based ( perhaps WEGO ) platoon-level wargame a la X-Com except with larger numbers of controllable troops. I'm guessing that VB would be quite sufficient to programme such a game but that one might get better results with OOP and the large number of libraries etc available or C++ or ( to a lesser extent ) C# ?
Best is whatever language you already know the best. Otherwise there is no right answer. My answer was based in part on what would be the easiest and most employable language to learn at this point, should you not know any already. If you've done any programming at all, even years and years ago I would say C#. If you've truly never written a line of code in your entire life, then and only then I'd probably say VB.NET.
Learning C++ from scratch is a lot harder than learning C# from scratch. The extra libraries aren't worth it. You don't need them.
As long as you don't pick Cobol or Fortran to program your wargame you'll probably do ok...