VB.NET developers, continued

The article I posted yesterday received the expected replies and I hope in the future it will show people how to look at software, the users of that software and on the various 'holy wars' that are still going on (and probably will be). Today

Paul Vick posted today an explanation why VB.NET will not have a Refactoring / Refactor menu, however it will have several features which will end up in the Refactoring / Refactor menu in C#. In short, he tries to explain why Microsoft made the decision to force VB.NET developers to use refactoring methods/functions but are not made familiar with the term. As I blogged yesterday that Microsoft is also to blame for the prejudice VB.NET developers have to face day in, day out, this is a good example of how Microsoft makes it hard for VB.NET developers to be seen as highly skilled developers. Below is the explanation for this, which I also posted as a comment to Paul's blog. I truly hope Paul Vick will reconsider their decision and will simply add the Refactoring / Refactor menu to the VB.NET IDE, so VB.NET developers who don't know the term will learn the term and discussions with other developers will show the VB.NET developer knows what he/she's talking about.

In a meeting C# developers, software architects and VB.NET developers are discussing the new product design. 2 groups understand the term 'Refactoring', it's a common IT/developer term. One group doesn't, because their IDE doesn't use it, or better: AVOIDS it to use it. Therefore, VB.NET developers can't participate in the discussion as equals, simply because they're never confronted with a general term in IT business however they're working with it every day. Not only does this hurt the quality of the discussion (you have to explain to them Refactoring is simply a term for a group of functions they already use), it also gives ammo to those who think VB.NET developers are less skilled and/or less smart.

Paul typed a long text to explain why Microsoft won't add a menu 'Refactoring'. I wonder why Paul went through all this trouble plus giving VB.NET developers a hard time in the future, while the opposite is much easier and will not give VB.NET developers a hard time: simply add the menu, add a simple explanation to the documentation what Refactoring is and you're set. VB.NET users who are not familiar with the term can google on the term, learn more, buy books about it etc., the same way as their C# counterparts will do when they open vs.net and see the term in the menu or read about it in the documentation. The C# developers will be able to discuss ways of develop software with java developers and system architects, even software development researchers on the university (e.g. researchers who look for methods to build better software faster, which resulted in methods like eXtreme Programming, which requires lots of refactoring). The VB.NET developer will not, because the terms used by the discussion partner are not familiar (in general) to the VB.NET developer, making the VB.NET developer look like a second grade developer.

I really don't understand why Microsoft puts in all this energy to explain a bad decision while the right decision is simple, appropriate and easy to explain. Fix it while you still can, I'd say :)

Published Wednesday, November 05, 2003 12:04 PM by FransBouma
Filed under:

Comments

# re: VB.NET developers, continued

Wednesday, November 05, 2003 9:33 AM by Greg
Let me add my vote too.

MS fix it right...

WORSE case, make the menu optional and allow VB'ers to enable it via the options. Don't make it completely unavailable.

And don't make us have to hack a way to enable. You KNOW we will find a way to make it, or like functionality available. So instead of the standard, we'll have a bunch of custom written solutions (think XML comments in VB)...

MS PLEASE don't make us go through this...

Do it right, treat you VB.Net programmer like they are professionals...

# re: VB.NET developers, continued

Wednesday, November 05, 2003 11:03 AM by Robert McLaws
I 100% agree. MS's job is to raise the lowest common denominator, not pander to it.

# re: VB.NET developers, continued

Wednesday, November 05, 2003 5:56 PM by Daniel O'Connell
If I can ask, how exactly is implying that VB.NET developers require their IDE to teach them a term treating them like professionals?

# re: VB.NET developers, continued

Thursday, November 06, 2003 6:15 AM by Frans Bouma
Daniel:
Not all terms of an industry should be known by everybody. However when you use a given set of tools and you don't know the correct name for these tools, you don't really know that you use them when you see/hear/participate in discussions about these tools. Also: all C# developers will be confronted with the term, will learn what it means. All VB.NET developers will not, and will thus not be forced to learn what it means.

# re: VB.NET developers, continued

Thursday, November 06, 2003 11:33 PM by Daniel O'Connell
> Not all terms of an industry should be known by everybody.

I would say will, not should. Should implies that there are things that people have not only no reason to know, that they shouldn't be told, excluded if you will. That is BS in my opinion, and isn't that what the whole argument is about, people suggesting that there is a term that VB developers shouldn't know?

However, I expect any decent VB.NET developer to be capable of learning on their own, just as I would any C++, Java or C# developer. Claiming that only via IDE support wil the VB developrs gain knowledge of refactoring or any other technique suggests that people(or you atleast) don't think VB coders actually try to learn and stick strictly to VB and its IDE. Any developer who would be involved in such a discussion should be well aware of what the general term means, even if it is not in the IDE. Implying otherwise, to me anyway, implies that the users of the IDE are not as dedicated as the rest of the industry.

# re: VB.NET developers, continued

Friday, November 07, 2003 5:56 AM by Frans Bouma
I ment 'Will', typo. (I'm not a native English speaker).

I also expect any developer to do a fair amount of learning but that's not the point. The point is that when you use a feature X, you should know hte feature you use is named X and not Y. As you can't know everything (a lot of C# developers will learn about refactoring whenthey open the IDE I'm sure), and when you DO use X, it is not more than appropriate the IDE, the documentation and examples/tutorials show you that the feature X is called X and not Y. That's the point.

# re: VB.NET developers, continued

Friday, November 07, 2003 1:14 PM by Bruce Onder
My own experience is that many .Net developers don't know what refactoring really is, unless they also know what unit testing and design patterns are. It's not a language thing as far as I can see -- I have a client who is a VB.NET shop that, because their coders to test-first development using nUnit, can refactor code to their heart's content because a good suite of unit tests will tell you if you messed anything up in your refactoring.

I also know tons of C# coders who don't write unit tests, so therefore any "refactoring" they do is essentially just mucking about with the code.

--Bruce

# re: VB.NET developers, continued

Saturday, November 22, 2003 5:39 PM by ChrisL
Can't post to paul's site as it is broken, so I will post here ;-)

If C# has the menu why not VB - Consistency

Keep Refactoring - That is what it is and thats what we VB developers call it!

Why should "professional" VB developers get any less/different IDE features than C# (and visa-versa ;-)

Are we going to become/thought of as 2nd class citizens again.

Is this all related to the efforts to make VB easier for the "occupational programmer"
http://www.fawcette.com/vsm/2003_12/online/meader/default_pf.aspx
<snip>
Ari Bixhorn: People call these programmers different things, from hobbyist programmers to non-professional programmers, but I think
occupational programmer describes this class of person more accurately. For example, think of the accountant who needs to use a little bit of VB to build a front end to an Access database. We're doing a lot of work in this area in VS.NET, but particularly in VB.NET. What we want to do is put the magic back into the product, to satisfy the needs of all the different developer communities.
<snip>
One step forward, one step back

Check out http://www.xtreme-simplicity.net/
PS The VB message has been there for a lonnnng time ;-(

# re: VB.NET developers, continued

Friday, December 19, 2003 1:20 PM by asdf
Don't worry, C# programmers aren't considered highly skilled developers either.

# re: VB.NET developers, continued

Wednesday, February 25, 2004 5:24 PM by Thomas Eyde
They can do whatever they want with VB.NET, I am long gone with C# and couldn't care less. That's what MS did with a die hard VB developer.

# re: VB.NET developers, continued

Sunday, June 27, 2004 11:34 AM by rob
Interesting post.

> it also gives ammo to those who think VB.NET developers are less skilled and/or less smart

<humour americanSpelling="humor">
I Once Knew A VB Developer Who Wrote So Much VB That He Started To Capitalise Each Word In His Emails.
</humour>