Programmer Pride?

Doug's mostly right when he says:

Folks, if VB.NET programmers are "real programmers", they will, upon being presented with a menu option called Refactoring, go to Deja or elsewhere and discover what refactoring is, presuming they do not already know what it is. Andrew is a proud VB programmer, and I am darn sure he knows what Refactoring is.

But I think that the argument being discussed misses the point. In the .NET world, we're all .NET programmers. Yes, I agree that it may be a mistake (and moderately insulting) to "dumb down" the Visual Basic IDE by calling the refactoring functionality something else. But part of the problem here is that the people building the tools are still focusing on language rather than the framework. It's about the framework and the runtime, not the language, IMO. So attempting to differentiate languages by providing different IDE features for each makes little sense to me. For one thing, the more "differentiated" each language is, the more friction there is in moving from language to language. That's not a Good Thing®, IMO.

Better to provide as consistent an experience (IDE-wise) as possible in all languages, and allow developers to choose their language based on other criteria. It's not about whether I, or any other developer, VB or otherwise, know what refactoring is. It's about providing useful functionality in the IDE, and making it as simple as possible to use. So call it "Refactoring", call it "Code Cleanup", call it whatever, just make it easy to use, and make sure it's well documented. That way, whether the person using it is a newbie or an expert, a VBer or a C# whiz, they'll be able to use it to improve their code and make their lives easier. And we all want that, right?

5 Comments

  • I'd have to say I mainly agree with you, but I think also that VB.NET and C# target two different kinds of minds also, which is a good reason to have the IDE experience a bit different for both. True, it's a pain then to switch back and forth, but I think the idea is to find what works best for you and stick with it. Now language-wise, I totally agree, they should be EXACTLY the same in capabilities. I use both VB.NET and C# about half and half at my job, so consider me unbiased ;)

  • I see where you're coming from, Erik, and I think you're right that the target audiences are different, but I also think that some of that is quite artificial. There's no reason in the .NET world why C# can't be just as productive as VB, and why VB can't be just as powerful as C#. I think, therefore, that the whole "target audience" argument is manufactured and maintained mainly to make partisans of the various languages happy.



    Which, of course, means we have to tolerate snobbery from the C/C++/C# folks on the one hand, and the hypersensitive overreaction from the VB folks on the other (and no, that's not directed at you, Julie...remember, I'm a VBer, too!). Wouldn't it just be easier to focus on the Framework?

  • This is a tangential comment, but I feel compelled to make it nonetheless. I have no problem with VB whatsoever. I've done my share of VB and I'm sure that I'll do more in the future. Having said that, I do think that MS continues to fuel this debate by treating VBers and other programmers differently. If they would stop doing that, and just treat the tools the same, then wouldn't these kinds of discussions whither away? Isn't MS causing a lot of these issues by trying to pander to the different constituencies.

  • I agree with your main points as well. One thing to consider in all of this: even though MS works very hard to present a unified face to the development community, the C# and VB teams are *competitors* to one another. At the end of the day, the VB devs are judged by how many units of Visual Basic are shipped, as are the C# devs with C#. That fact alone will prevent them from focusing completely on the framework. To be competitive, product differentiation enters into the equation - although I believe that we all suffer because of it.

  • As a consultant, I am usually constrained to use whatever my customer is using, so I have done quite a bit of both VB.NET and C#. While each language and IDE have their own advantages, I would really prefer cross-language features (such as the refactoring) to have a common L&F and behavior. It is the small things (such as the different ways which the VB/C# IDE do outlining) which really cut into my productivity.

Comments have been disabled for this content.