All good things…

As difficult as it is to say, I wanted to let my loyal readers know that after a decade spent working on Visual Basic, I’ve made the decision to change jobs at Microsoft.

It’s somewhat hard for even me to imagine just how long I’ve worked on Visual Basic. I joined the Developer Division (VB’s home) over 11.5 years ago to work on OLE Automation. A year and a half after that, I moved over to the VB team proper to work on the compiler’s code generator just as we started the move to what would become .NET. In some ways it seems like just yesterday, but in many other ways it feels like several lifetimes ago. In the intervening decade, I’ve worked on 4.1 versions of Visual Basic (including our forthcoming version), during which time an amazing amount of stuff has happened to the VB language, the VB community, Visual Studio, and development tools in general. The development world looks very different than it did when I started, and that’s generally been a wonderful thing.

But as the current release started to wind down from a design perspective, I started asking myself whether it was time for a change. And, after thinking about it quite a bit and talking to quite a few people, I decided that it was. As much fun as it has been to work on Visual Basic, I felt the need to be doing something different than what I’ve been doing. And so I made the decision that it was time to move on. Sort of.

You see, although the fact that I’m leaving is a big deal in some ways, it’s not as big a deal as you might expect. Even as I physically move to another team, in many ways I’m not really going anywhere. I’ll be carrying with me a title of “Visual Basic Language Designer Emeritus,” meaning that I will continue to participate in the VB language design process and will continue to work to ensure the VB language specification is kept complete and up to date (although I will no longer have primary authorship responsibilities). I’m also still planning to give the VB talk at the PDC in October and talking about all the exciting things we’ve done for the upcoming release plus some ideas about where things will be going in the more distant future.

As to my next challenge, well, there isn’t a whole lot I can say about that… yet. I’ve got some personal ideas rattling around in my head that I’m going to get some time to spend working on, but my day job is going to be working with guys like Douglas Purdy, Don Box and Chris Anderson on the Oslo product. In particular, I’m going to be helping out with the subject of this talk. Expect to hear more from me about it once we’ve gotten to the PDC.

Even though I’ll be spending a good bit of my time on Oslo, though, I’ll still going to be an active member of the VB community. I’ll still be talking about VB on this blog, opining on the language and it’s future, and, I’m sure, continuing to answer lots of questions. I’ll be continuing to use VB and am really excited where the product is going in this release and the next one (but more about that at the PDC!). Over time, I do expect my place in the VB community will fade somewhat as the new blood on the VB team really starts to come into its own, but for the time being things will continue to go along much as they have been. And, of course, VB will always have a special place in my heart.

This isn’t really goodbye but I did want to take the opportunity to thank all of the people out there who have used VB, who’ve read my blog, and who’ve written me or talked to me about VB. The VB community has been one of the major reasons that I have enjoyed working on VB so much (and for so long!), and every one of you have played a major role in that. There have certainly been controversies, disagreements, and blow ups, but I really think that VB has one of the finest user communities that I’ve ever participated in, and that I will be lucky if I work on products in the future that attract such a passionate, intelligent, and caring group of people. I can’t say how much I appreciate all the great times that everyone has given me over the years!

So, the blog will continue, I’ll still be talking about VB, and soon I’ll have some additional interesting and exciting things from my new job to talk about too. The next ten years should be just as fun as the previous ten have been!

22 thoughts on “All good things…

  1. Pingback: Richard Clark

  2. Roger Jennings


    I’m sad to hear the "Dean of VB" is leaving the department after almost 12 years of service. As you probably know, I’ve been a champion of VB since VB 1.0 and Rawhide.

    But, like you, I’m changing my ways, too. I’m now programming primarily in C#, but also including VB examples in my books and most magazine articles.

    Best of luck in your new role at Microsoft.


  3. Rod F.

    I’m sorry to hear that you’re leaving the VB team, Paul. You probably don’t remember me, but I met you at the MVP Summit in 2007, when I was there as an Influencer. However, I respect your decision, and believe it is for the best. I wish you all the best with Oslo.

  4. MarcelDevG

    Thanks for the works on VB, it has gone a long way.

    It will be interesting how your leaving will change the team.

    Change is good, for you and for VB.

    Olso must become a ‘big thing’ as you look how is working on it.

    Can’t wait for the PDC.


  5. Branco Medeiros

    Congatulations on the move!

    Changing is always a good thing, and I’m sure you’ll do a great job "at" Oslo. Good luck and thanks for the time you gave to our beloved language.



  6. Pingback: Don Box's Spoutlet

  7. Pingback: Jason Haley

  8. Raj Chaudhuri

    A double whammy for me: Mr. Vick leaving VB and Mr. Jennings confessing that he uses C# primarily. I left a steady job to do my first independant consulting stint fourteen years ago, armed only with a copy of Mr. Jennings’ Database Developer’s Guide for VB 3, and Mr. Vick has been the most visible and approachable face in the VB team for me. I’m sure the VB team has a lot of bright young stars, and that there are a lot of extra-Microsoft VB experts left, but I feel sad today. As sad as when VB lost Bruce McKinney.

    Melodrama apart, I wish Paul all the best in his new venture.

  9. Leigh

    Raj – it does seem to be one more nail in the coffin of VB in terms of high-profile folks using VB. I find it sad as well, but it seems the market is forcing it. Roger Jennings, Rocky Lhotka and others VB vets have moved over to C#. I even find myself moving over to remain competitive; there just isn’t much market interest in VB despite what MS claims.

  10. Me

    I stated coding in VB since the VB.Net 2003. As much I like the VB language, I’m thinking about switching to C# (the language that I really hate) for competitive reason.

    Does anyone know why VB is becoming less and less popular? What can Microsoft do to "revive" VB and make it a language of choice AGAIN?

  11. Pingback: ??????

  12. _gdc


    I think everything started in the years around 2001, with the unbelievable decision to break compatibility with VB6-VBA

    codebase, i.e. to break compatibility with 312,466,789,523 lines of written, tested and deployed code, for an estimated

    value of 1 trillion $.

    Microsoft felt so ashamed that she tried to put the blame on VB users, calling the programmers Mort and saying that Basic

    syntax was bad (and supporting those ugly curly braces and semicolon-terminated statements)

    So the fashion wave is now low on VB, but I’m sure that Bill Gates, Microsoft founder and Basic programmer, will protect

    his beloved language.


    Visual Basic.Net is the best language now available and it will continue to improve (for example with the things discussed

    here during the last months and, please, with a good scripting support)

    thank you for the work done, and good luck for the future (don’t forget us)


  13. Me


    VB6 programmers’ frustration or anger is perfectly understandable. Many of us don’t like change, but we all need to or reluctantly have to embrace changes in this fast moving technological world. It has been 7 years since the big and ABRUPT changes made to the VB language, I think it is now time to forgive and forget of what happened in the past and let’s move on and embrace the VB.NET and make VB.NET a popular language so that I and many others won’t have to switch to C# 😉

    My question to VB6 programmers is: Do you still use VB6? Or did you “boycott” VB.NET and switch to C# and other languages with curly braces?

  14. _gdc


    I think VB.Net is far better than VB6, and I repeat that it is the best language now available.

    We use VB6-VBA and VB.Net, we don’t plan to use C#.

    For example, we don’t need 11 lines when 7 are enough (In C#, it’s like the screen is 57.1% smaller!)

    01 Public Sub FooBar()

    02 If IsFooable() Then

    03 Foo()

    04 Else

    05 Bar()

    06 End If

    07 End Sub

    01 void FooBar()

    02 {

    03 if (IsFooable())

    04 {

    05 Foo();

    06 }

    07 else

    08 {

    09 Bar();

    10 }

    11 }

    Please note that the Java style with the opening brace at the end is ugly.

    Research has also demonstrated that curly braces can severely damage the CPU…

    Microsoft, just give us back the scripting and we’ll be happy.


  15. Chris Anderson

    >> My question to VB6 programmers is: Do you still use VB6? Or did you “boycott” VB.NET and switch to C# and other languages with curly braces?

    My last job still uses VB6, mostly because there simply isn’t a good way to convert a 10-yr old, hundreds of thousands of lines of code app over to VB.NET easily. And I suspect given the recent economic downturns, and recent workforce departures (including myself) both voluntary and involuntary, it’ll probably never get 100% comverted. 5 years from now, they’ll still be using VB6 for most of the system. But my current job – it’s nothing but .NET all the way.

    _gdc – That’s an unfair comaprison… as it could also be written in 1 line:

    void fooBar() {if (IsFooable(){Foo();}else{Bar();}}

    @Paul, sorry to hear about you moving on, but it jsut goes to show it can happen to the best of us. Good luck in your future endeavors and look forward to hearing what you’ll cook up for us in the future.

    -Chris Anderson

    (and no, not the one Paul mentioned)

  16. Pingback: VB Feeds

  17. Szindbad


    I was a big fan of DSL-s about 3-5 years ago. Today i see a big, teoretical disadvantage of DSLs: It hides multiple (too much) aspects of the problem, and shows explicitly only one. (The one which I choose, usually i choose the problem domain aspect)

    But there are a lot of aspects of a problem, such as error handling, authorization context, transactional context, identity/equality context, redundancy context, performance aspect, parallel executability, extensibility, modularity, manageability, traceability aspects, and so on.

    If i provide a DSL for the problem domain, i have to deal with these aspects on DSL implementation side. But there are no practices, patterns to do this. In fact the result will be a DSL with a complex backend where the architecture will be ruined by the actual DSL infrastructure. I think there are a huge amount of problems where this doesnt worth the effort.

    Usually the problem domain is not so important to make additional effort to express it in a cleaner way.

  18. Pingback: Anonymous

  19. Pingback: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *