TheChaseMan's Frenetic SoapBox

Always looking for better ways to do things...

Is a .NET Programming Language All About Personal Preference?

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?


Digg!

posted on Tuesday, December 07, 2004 9:31 AM

Feedback

# re: Is a .NET Programming Language All About Personal Preference? 12/7/2004 12:12 PM Peter Antoniou

It's interesting when you talk about language choices in the past, it really isn't the language that was the deciding factor for you, it was the libraries/framework it was based on.

With .NET, it's all the same framework, so it really is a choice of language preference. Now, when we try to argue C# vs VB.NET, it ends up coming down to silly minutia of what Microsoft has implemented in one vs the other.

So yes, at this point it really is mostly a matter of taste.

# re: Is a .NET Programming Language All About Personal Preference? 12/7/2004 12:25 PM Sean Chase

Yes, but let's say the C# team decided not to included edit-and-continue. If this was an important enough feature to increase your productivity, could you then make the argument "VB is better for the job because of this productivity tool."? Likewise, could you say that refactoring exists in C#, so it is a more powerful tool than VB out of the box? There is a gray area I think, although I concede that I like C# better as a matter of personal preference. I can write the same code in VB.NET, absolutely.

# Reflections on Programming Languages 10/20/2005 6:08 PM TheChaseMan's Frenetic SoapBox