Hearts and Minds

Hearts and Minds

rom the time Visual Studio.NET was first in beta there has been a constant debate about a subject that is near and dear to all Visual Studio .NET developers. This debate centers around a single question: Which Visual Studio.NET language do I use for my development? Visual Basic .NET or C#? I have been holding off on this subject for some time now. It’s a topic that on the surface seems pretty simple to write about but it is actually more complex than it originally seemed. So here’s my take…

I come from a background in Visual FoxPro and Visual Basic development. I am intimately familiar with both of these development tools as well as a number of others including SQL Server, Cold Fusion, and Delphi. For years a war raged on about which was the better development tool-Visual FoxPro or Visual Basic. Well it all depended on your point of view. Visual Basic was a better behaved Windows development tool, supporting most Windows technologies. Visual FoxPro was a great RAD environment for building client-server and desktop applications. Which one won in my evaluation? It was a draw. I used the tool that best supported the types of applications I was developing. I really didn’t care what tool I used because the big job was centered on the tasks of: gathering user requirements, analyzing problems, and meeting customer needs. Now the war over hearts and minds is centered on VB.NET and C#

Some programmers feel some type of need to develop in a “real programmers” language. Others just want to get a job done. I’m one of the latter. I have heard a number of arguments about using C#. Some of them include: C# is a cleaner language, C# will force programmers to write better code, C# is more maintainable, Microsoft uses C# in the Framework. Most of these arguments are without supportable data. I don’t think C# code is any more or less maintainable than Visual Basic.NET code. Nor does it mean developers will write better code-bad programming seems to translate well across programming languages and development tools. Good designs will triumph over bad designs no matter what the language.

Does Visual Basic.NET have its warts? Absolutely. Visual Basic.NET has a keyword called ANDALSO. What the heck is this? It is Visual Basic.NET’s version of an AND keyword that short circuits. You see Visual Basic 6 (and earlier versions) did not short circuit AND statements. Earlier versions of Visual Basic .NET short circuited but Microsoft listened to the whining of VB6 developers on this issue and backed down and bloated the language. So yes, that’s one of probably several ways that Visual Basic.NET is bloated. Is it a real problem if a language supports a few more constructs or keywords? I don’t think so.

Another topic to discuss is the future of Visual Studio.NEt. The next version, code named “Whidbey,” will have some cool features for both C# developers and Visual Basic.NET developers. One of the key features of VB.NET is that it lets you “edit and continue” when developing applications. What this means is that when you get a run time error you will be able to edit (fix) that code and press continue. This feature is invaluable when writing and testing code. This feature is specific to Visual Basic.NET-C# will not support it. I have heard people pooh-pooh this feature as no big deal with comments like: “Real programmers don’t need tools like that anyway.” I used to see this same argument from VB developers whenever the OOP pronciple of inheritance was mentioned. “Don’t knock it until you try it,” the old cereal commercial used to say.

So, what do I recommend you do? If you are a Visual Basic, VBA, or Visual FoxPro developer you should look at Visual Basic.NET. It resembles a language you already know. Your learning curve will be lower. If you are a Java, C++, C, or Delphi developer, you may be more comfortable with C# but you could always give Visual Basic.NET a look.

From what you have read you will surmise that I don’t really feel there’s a significant advantage of one language over the other. That’s why CoDe Magazine will continue to provide examples in multiple languages. No go forth and program young JEDI.

Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes