My, My, My!

(I first wrote most of this about 3 weeks ago, but never got a chance to finish and post it. I’ll be posting something else about “My” is a few days, so I wanted to post this first.)

When I first heard about “My” Classes (list of classes) planned for Whidbey/Visual Studio 2005, I thought it sounded a little too cutesy for my taste: “That’s nice and it should help some people get started, but I don’t think anyone will do any serious programming with it.” And I’ve even heard some C# developers pooh-pooh “My” as something to make .NET easy enough for VB developers such as here.

However, once I read Duncan Mackenzie’s article in May 2004 MSDN Magazine entitled “Navigate the .NET Framework and Your Projects with “My”” and all I could say was wow! I was struck by a few things:

  1. “My” is just a layer on top of the existing framework — its the same code you’d probably write anyway — and returns instances of framework classes when appropriate so you don’t really lose anything by using “My” when you don’t need more power or flexibility.
  2. Recognition is easier than recall: The “My” hierarchy makes it much easier to find the 20% of the functionality you use 80% of the time. You don’t have to explicitly remember all those features as you would have in VB6; if you have a vague memory of functionality, just navigate the hierarchy to find it.
  3. By implementing a hierarchy to simplify basic use of the existing framework, Microsoft exposed “holes” in the functionality provided by the framework. This led to Microsoft implementing useful functionality they might not otherwise have put on their priority list.

Point #2 leads me to believe that in some ways VB 2005 might actually be easier to learn than was VB6. Point #3 makes me think the “My” hierarchy brought positive improvements beyond VB; all he way to the .NET framework itself.

P.S. Some people are using the term “speed dial” to describe the “My” classes. IMO that analogy doesn’t quite fit, and I think it discredits the “My” classes by implication. FWIW.

6 Replies to “My, My, My!”

  1. > I’ve even heard some C# developers pooh-pooh “My” as something
    > to make .NET easy enough for VB developers, such as here.

    Did you notice that that link is at a .My domain? ;-)

  2. Mike,

    >> P.S. Some people are using the term “speed dial” to describe the “My” classes. IMO that analogy doesn’t work fit, and I think it discredits the “My” classes by implication. FWIW.
    <<

    OK, "My" has no real meaning, "Speed Dial" is appropriate only for a subset of functionality, so what do you call this thing? I don’t like everything in it, I’m not crazy about Singleton forms, but I can’t wait to get my hands on some aspects of it. To me the strongly typed resources rank right up there at the top.

    Kathleen

  3. >> so what do you call this thing?

    Well, not sure so I didn’t want to propose an alternate. I know, I know; don’t mention a problem unless you mention a solution; guilty!

  4. You do realize that #1 is at least partially incorrect. It isn’t strictly .NET Framework classes. There is also some compiler magic that the VB team is doing to make sure the right My is hooked up for the type of project you are using, etc.

    This is the main reason that while some of the My functionality will be available to C# programmers it won’t have the same friction free usage that VB developers will get automatically.

  5. >> You do realize that #1 is at least partially incorrect? It isn’t strictly .NET Framework classes.

    If I understand you correctly, your point is well taken. I think you are referring to the "My" *feature* including more than just the "My" *classes*.

    In the case of the additional features beyond the classes, I agree and neglected to make that point in my post. OTOH, I haven’t really seen or read about the non-class features of "My." What I read about and was impressed by were the "My" classes by themselves, which makes my post still valid, though I can see how it might confuse by not explicitly making the point you did.

    (Although I haven’t seen the additional features, I think it is a shame "My" wasn’t limited to classes and just made available to the .NET framework. But I might change my mind after I see those other features. FWIW.)

Leave a Reply to Mike Schinkel Cancel reply

Your email address will not be published.