An interesting article got me thinking about this. I've done a heck of a lot of VB6 programming in the past, but for some reason I prefer (and took up using) C# instead of VB.NET. Why? Well, it could be the psychological scars left over from college where I was forced take about a ton of classes that were COBOL-related including: COBOL, Advanced COBOL, JCL, DB2, IMS, CICS. In college, any course that was C or C++ based over COBOL made me a happy camper. However, during my internship with a company called CADTEL, I came to prefer languages such as VB and PowerBuilder over having to deal with extra complexity that came with using Visual C++. For most of the applications I was building at the time, VB and PowerBuilder were much more productive tools than VC++ unless a particular language was not an option. So their use was born out of necessity. Likewise, my use of C++ was born out of necessity for other work I did. There was no way to program against the AutoCAD API except with C++. There was no way to write a Win32 DLL except with VC++. After I graduated from college, VB was much more predominant than PowerBuilder despite the fact that I actually liked PowerBuilder script a lot more. I ended up using VB quite a bit in the 90s and I made good money working on projects that leveraged it. VB was a great match for writing business applications that connected with databases, COM+, MSMQ, etc. VB also was a natural fit in classic ASP, and it was used more where I was working than server-side javascript. Regardless of all of this, I've always had an affinity towards C-type languages such as Java. C was the first language I was really, really excited to learn. I didn't particularly like BASIC or Pascal, and I hated COBOL and LISP. When I started working with C#, it was due to personal interest having been a big fan of C, plus it was a company standard where I was working when the RTM of the first version of VS.NET hit the market. Since then, I've also worked gigs where VB.NET was the standard, and I've adapted - but I always missed C#. I personally felt that it was more intuitive and less verbose. Now with C# refactoring support, edit-and-continue, nullable types easily integrated into the language, etc - I like it even more!
So, maybe the “language war” is merely all about personal preference...but my original take on VB being a more productive development tool for writing business applications has gone out the window...so why would want to use VB.NET over C#? For me, it would have to be necessity I suppose because now it is starting to remind me of COBOL just a little. :-)
Thoughts?