Your Language Picks Revealed
By Elden Nelson
In the July 3, 2003 issue of asp.netNOW - the e-newsletter companion to this magazine - I asked three questions about your what .NET language you're using and why. I never could have anticipated the barrage of answers I'd receive: hundreds of thoughtfully considered answers, and only one flame in the bunch. Because I spent this space last month talking about why I thought you should be considering C# (see Are You a C#PRO?) as a language to add to your tool belt, this month I'm going to relay back what you've told me.
In response to my first question, "What language are you writing your ASP.NET apps in?" 46percent of you said "C#," 40 percent said "VB .NET," and 14 percent said you're working with both languages. Of that 14 percent that uses both languages, 50 percent volunteered that they prefer C#, while 30 percent prefer VB .NET (20 percent didn't express a preference). Considering the relative age of these two languages, it's interesting that C# now edges out VB .NET among ASP.NET developers.
Much more meaningful than the numbers, however, are the reasons behind the numbers. Answers to "Why have you selected that language?" vary widely (natch), but some reasons popped up more frequently than others. Whether you're using C# or VB .NET, languages used in the past seem to have a strong bearing on what you're developing with now. More than 40 percent of developers using C# said they were doing so because it was an easy move from C++ or Java. Says Kenneth Haynes, "I can find Java developers and get them up to speed quickly on C#."
Similarly, VB .NET developers are likely to be such because of their roots. Seventy-two percent of people siding with VB .NET listed knowledge of legacy versions of VB, VBA, or VBScript as at least one of the reasons they were using VB .NET.
Meanwhile, a fair number of developers using C# say they do so because the differences between VB6 and VB .NET were so confusing, making a clean break to a new language was easier than trying to remember what's changed and what hasn't. For example, Mike Clark says, "I found C# easier to learn than VB .NET. I had to unlearn too many VB6 habits that got in the way of learning .NET development."
From other responses, the existence of bazillions of lines of legacy code means a fair number of you will be using VB .NET for a long time to come. William Ruf says, "Most systems I am responsible for were written in VB." He also mentions another reason many developers are working with one language or another - company mandate or coworker preference.
Although existing code is a common reason why some developers choose VB.NET, the ground-up OOP nature of the relatively new C# draws others. "I feel the language forces me to be a better programmer," says Brian Smith. Kirk Mahoney cites another popular reason for going with C#: "I like the XML code comments, which are not in VB .NET." Adds Felipe Machado, "(C#) was build from scratch to be a .NET language and to explore the full potential of the .NET Framework."
Lest it seem like C# has a lock on good language qualities, let's not forget that VB .NET users have good reasons for using it. Says Haroon Rasheed Malik, "VB offers fewer restrictions than the C family. C# is case sensitive and semantically difficult." W. Scott Fowler points to the RAD nature of VB .NET, saying, "I can develop data pages, validation, string manipulation, whatever, in a matter of minutes."
Bearing in mind that in many workplaces you simply don't have the choice of which language you use, it can't hurt to know both VB .NET and C#. Jon Ogden points out, "Programmers should know both, even if they specialize in one." (And if you're a VB developer looking to learn a little C#, check out the C#PRO insert this month; it has a great article titled "5 C# Tips for VB Developers" you won't want to miss.)
The fact is, I've compiled more than 50 pages of comments from readers on why you've picked one language over another, and most points seem valid. There's definitely more to say, and if you feel I've missed an important point (or somehow have managed to make an important point), please let me know by e-mailing me at [email protected].
Elden Nelson is editor-in-chief of asp.netPRO and its companion e-newsletter, asp.netNOW.