Share via


VB - yesterday, today and tomorrow!

A couple of weeks ago, I was doing a couple of on-line chat sessions with our worldwide MVPs. This was the first time I was doing one of these sessions and going in I wasn’t sure how effective or productive such sessions would be. It was incredible to see the level of participation and questions that kept flowing in non-stop for the 2 hours that I did this. Clearly, there is a lot of enthusiasm for people to have a 2-way dialog with us that I really enjoyed and appreciate. I am actually waiting for when I get my next opportunity to do one of these sessions.

A couple of the people in that session had some questions for me around our commitment to VB in the .NET world. I was a little surprised by these questions. That made me think more and I wanted to share with you my thoughts on this.

When I’m with VB developers, I hear things like “all the samples are in C#”, and when I’m with C# developers, I hear “VB At the Movies, the VB Power Pack – what about us?” I guess we must be doing something right J.

Getting back to the question though, let me talk about how serious we are about Visual Basic – we’re 120% committed to the language and the product not just today but for a long, long, long time to come, as we have been in the last decade now. I know that when we moved from VB6 to VB.NET, we broke compatibility and that is a sore point with some of our developer customers. It was a huge decision that we did not take lightly at that time. The trade-off clearly was making a leapfrog jump in innovation as we moved to the .NET platform versus ensuring full compatibility. We are bringing back some of the features that our VB developers have come to love like Edit and Continue in Visual Studio 2005. Nevertheless, I do understand that people need to go through a migration process to make the jump from VB6 to VB.Net. We have provided a variety of things including migration wizards, prescriptive guidance, etc. to make the migration simpler and will continue doing more here.

Today, we have well over 100 people in my division devoted to Visual Basic (program management, dev, test, user education, support). VB, by using the .NET framework, gets great performance, and we have a number of customer success stories including Seattle Avionics, Stampin’ Up!, Analog Devices (ADI), Ontario Air Ambulance, Delaware Department of Education, Partnership for Strong Families and many more. We know you’ve noticed because we’ve seen a substantial increase in the number of you using Visual Basic .NET over the last year.

I think that some of the questioning comes because many Microsoft employees with blogs show code in C#, and the framework, as originally shipped, was largely written in C#. Well – we’ve said all along that you get to make the language choice for targeting the .NET platform - if you are a VB developer, VB.NET is absolutely a great choice. Here at Microsoft, we do the same thing. While many of our product developers are C++ developers and now code in C++ and C#, our internal systems have typically been written in VB6, and now are being written in VB.NET. In fact, some of our core applications which are used to manage our personnel, office space and annual performance reviews, are Windows Forms applications written in Visual Basic on the .NET platform.

But it goes further than that. In Visual Studio 2005, we’re using VB for some of the framework classes, and there are portions of the VS IDE written in VB. Bet you can’t guess which ones from the beta J. You see, we really do mean it when we suggest you pick the language that you’re most comfortable with – that’s what we’ve done internally and VB is absolutely a core part of our bet and strategy.

 

For another take on this issue, check out Paul Vick’s blog article: The “Native” .NET Language?

 

Namaste!

Comments

  • Anonymous
    August 01, 2004
    The comment has been removed

  • Anonymous
    August 02, 2004
    The comment has been removed

  • Anonymous
    August 02, 2004
    Best quote I've seen today: "Bad code can be written in any language" - nice!! :-)

    I agree, VB.NET is MUCH better than VB6, but there are many things I still don't like. VB.NET is still very wordy (with if/end if, instead of curly braces, etc) and it doesn't "encourage" a developer to become better, it encourages them to get away with as much as possible - so long as it still compiles.

    I guess I have more of a problem with the "typical" VB developer - it's almost a lifestyle choice or something.

    And for people that don't like C# - how can not LOVE the simplicity and clarity of semi-colons and curly braces!! There is just nothing to assume or explain - it's just so clear (for me).. :-)

  • Anonymous
    August 02, 2004
    One word: Reflector

  • Anonymous
    August 03, 2004
    Isnt that the point, that you choose the .Net language that is right for you, as they are of equal power?

    Kind of makes VB.Net bashing pointless, dont you think?

  • Anonymous
    August 03, 2004
    Well, curly braces don't tell you what you are enclosing at first sight. If you are in the process of looking at someone else's code, End If and End With makes for better readability.

  • Anonymous
    August 03, 2004
    The comment has been removed

  • Anonymous
    August 03, 2004
    Will the circle be unbroken...

  • Anonymous
    August 03, 2004
    > portions of the VS IDE written in VB

    None of the C# Express assemblies reference the VB runtime libraries - so I suspect C# Express doesn't contain the portions written in VB.

    What did surprise me was the vast number of assemblies that were managed. Many more than in VS.Net 2003.

  • Anonymous
    August 03, 2004
    I'm not sure converting all VB developers to C# will make the world a better place to program. C# does not define how to program, how to naming variables and functions or how to split your code up layers, objects etc. I think the problem is not the VB.Net language itself, but the lack of "strict programming policy". drebin, I believe the best way to control programmers (and yes, I'm a VB programmer myself (v1.0->.Net) are to tell them that this is our coding standard (naming convention, not rules etc) and that you have to follow it!

  • Anonymous
    August 03, 2004
    The comment has been removed

  • Anonymous
    August 03, 2004
    Oh yeah. I have seen truly horrible VB code many times (including some of my own “ancient” code) and I have also introduced code standards that no one (except me) would use. I have also heard about R&D department managers that talk big about their code standards and in the same sentence (almost proudly) mention that they don’t use it.
    I can see your point in switching to C# (or any other language for that matter), but without any guidance on how to make good code, a bad developer will more or less stay bad. In the big picture, bad code is made because of ignorance and/or attitude. Since producing readable, maintainable and bug free code is actually a part of a company’s face to the world, it should be taken more seriously by both management and developers. Why make e.g. a coding standard if its usage is “optional”? To push things to extremes, it should be: “Use it or you’re fired!” (I don’t mean that programmers should be “dictated” how to program, but some basic rules should be mandatory)

  • Anonymous
    August 04, 2004
    The comment has been removed

  • Anonymous
    August 04, 2004
    Ooops type in 'company's' I'm not illiterate you know! ;o>

  • Anonymous
    August 04, 2004
    Ooops...again! :-O

  • Anonymous
    August 04, 2004
    I am a VB programmer. I have fought the "My language is not inferior to yours" battle for a decade. Four words for you - "On Error Resume Next". VB.Net allows this and probably will for perpetuity. Constructs like this make it impossible for us to win this argument. Try getting away with a dynamic GOTO in C# without using unsafe code...

  • Anonymous
    August 04, 2004
    The comment has been removed

  • Anonymous
    August 04, 2004
    I believe the world will (and should) go to a state where programming is like reading, writing and arithmetic. Everyone does it. There's a spectrum of competence. Get over it. Live with it.

    It really concerns me when I see language bashing and a desire to exclude programmers. VB.NET is good, C# is good, Java is good, J is good... I like to see people who read several languages.

    All this obscures the point. MS is committed to VB.NET. That's great. For those who use it, are comfortable with it (and are maybe learning to love it) there is less stress. The features in 2.0 look great, time saving, power bringing.

    Now it's time to hope for the features of X# (combine OO, XML and relational features in the basic type system) and the amazing power you get APL/J with defining your operators. (As long as we don't let the nay sayers destroy human progress I'm hoping I see these things in both C# and VB.NET in my lifetime!)

  • Anonymous
    August 04, 2004
    Weevie,

    It's more complicated than that. Most people I used to work with were at the company for 20-30 years, most straight out of college. We've had FIVE rounds of layoffs and they got rid of all the expensive old-timers and kept only a couple competent/expensive developers.. the rest are there, just because it's cheap and they manage to eek out SOME work.. and apperently, that's good enough.

    I understand this is a negative environment for me to be in, but I have a lot of other things going on - and I have a lot of freedom where I am - which is what I need right now. So right now, it's a struggle for me to keep up with technology, but doing it in my free time, really..

  • Anonymous
    August 04, 2004
    Anyway...

    Good coders write good code and bad coders write bad code.

    And I'm sorry anybody who thinks that the question of whther you have End... or } as a code block delimiter has way missed the point of good coding <sigh>

  • Anonymous
    August 04, 2004
    The comment has been removed

  • Anonymous
    August 06, 2004
    We meet during Imagine Cup 2004 (French Judge). But as I said in my blog (http://blogs.developpeur.org/richardc/archive/2004/08/06/2229.aspx), all MS divisions didn't have the same opinion, and show that C# IS the first AND only .NET language.

    Take a look at DirectX 9.0c SDK, and you will know!!!!

    I'm sorry but it's reality !!!!

  • Anonymous
    August 06, 2004
    In order to get some of the duh-velopers to use standards, set up a complete automated build system and use FxCop (probably with some custom rules) to report any non-standard uses. In other words, move the whole organization to a more professional development environment where non-compliance is measureable.

  • Anonymous
    August 08, 2004
    The comment has been removed

  • Anonymous
    August 08, 2004
    The comment has been removed

  • Anonymous
    August 09, 2004
    Drebin, it seems that most of your issues are related moreso to the management of the development environment than the actual technology.

    In my mind, there will always be the pro's and con's of any language, and people will always have preference for one over another. Some people prefer the verbosity of VB.NET over C#, some don't. Who cares?

    If standards are not adopted when introduced, that is not the fault of the language. That is the fault of the management and senior developers - those that influence the standards a developer follows (if any).

    Now to continue the general rhetoric, the chosen language is irrelevant. Programming is about being smarter than syntax. Anyone can program, a fact that is becoming more and more evident. Anyone can sit at a desk and bash something hard enough until it works. But few people can actually program smartly. That has nothing to do with the language.

  • Anonymous
    August 09, 2004
    I started using BASIC before the IBM PC was released in 1981 (since 1973 in fact) and it's fantastic to see how far the language has progressed over the last 30 years. VB must surely be the language of choice for all applications development. Whenever anyone mentions C, C++, C# or any of it's variants the arguments are always about elegant code, concise code etc. As an application developer I think that there is nothing more elegant than having blocks of code that are clearly and unambiguosly marked eg IF/END IF, FOR/NEXT, SELECT/END SELECT etc. I haven't used a GOTO statement in my code since the late 70's. How many C programmers can make that kind of statement. To the VB Team. Keep up the GREAT work you have been doing. Viva VB.NET

  • Anonymous
    August 09, 2004
    I started using BASIC before the IBM PC was released in 1981 (since 1973 in fact) and it's fantastic to see how far the language has progressed over the last 30 years. VB must surely be the language of choice for all applications development. Whenever anyone mentions C, C++, C# or any of it's variants the arguments are always about elegant code, concise code etc. As an application developer I think that there is nothing more elegant than having blocks of code that are clearly and unambiguosly marked eg IF/END IF, FOR/NEXT, SELECT/END SELECT etc. I haven't used a GOTO statement in my code since the late 70's. How many C programmers can make that kind of statement. To the VB Team. Keep up the GREAT work you have been doing. Viva VB.NET

  • Anonymous
    August 09, 2004
    I started using BASIC before the IBM PC was released in 1981 (since 1973 in fact) and it's fantastic to see how far the language has progressed over the last 30 years. VB must surely be the language of choice for all applications development. Whenever anyone mentions C, C++, C# or any of it's variants the arguments are always about elegant code, concise code etc. As an application developer I think that there is nothing more elegant than having blocks of code that are clearly and unambiguosly marked eg IF/END IF, FOR/NEXT, SELECT/END SELECT etc. I haven't used a GOTO statement in my code since the late 70's. How many C programmers can make that kind of statement. To the VB Team. Keep up the GREAT work you have been doing. Viva VB.NET

  • Anonymous
    August 09, 2004
    The comment has been removed

  • Anonymous
    August 10, 2004
    The comment has been removed

  • Anonymous
    August 10, 2004
    The comment has been removed

  • Anonymous
    August 10, 2004
    Microsoft drops C#
    http://weblogs.asp.net/hpreishuber/archive/2004/07/05/173067.aspx

  • Anonymous
    August 11, 2004
    The comment has been removed

  • Anonymous
    August 11, 2004
    <A couple of the people in that session had <some questions for me around our commitment <to VB in the .NET world. I was a little <surprised by these questions.

    I think one look at MSDN Magazine will give you an idea of why people have questions. It calls itself "The Microsoft Journal for Developers" but I think it's real name should be the C# Journal.

  • Anonymous
    August 11, 2004
    You have go to walk before you run, folks.

    I have transitioned to VB.Net and am very glad I did. I am getting more used to looking at things from an object-oriented perspective and the .Net framework helped me get there.

    I feel that this move into .Net will eventually lead to one language that combines the benefits of both. I look at VB.Net and see more than a few similarities to C#. You also can't miss that Microsoft is pushing OOP with every publication they put out these days. All of this has started my progression to C# and I do like it a lot. I also think that this is what Microsoft might want.

    At least VB.Net pushes you toward better habits. VB6 just didn't.

  • Anonymous
    August 11, 2004
    I learned Java and C++ from school and picked up VB (basically from the use of ASP) on my own.

    For .NET, I know both VB.NET and C# and read books for both languages. Whether it's VB.NET or C#, it's just a matter of syntax differences (except the fact that C# has memory management), both languages perform as well as each other. So, in my eyes, they're basically equivalent.

    At work, I use VB.NET for ASP.NET, VB sometimes bothers me with its loose types and its case insensitive nature... Undoubtedly, it's convenient but bad... Things like this (Ex: Return true in the case of "1" = 1) can freak me out especially when I didn't spot it...

    All in all, I don't see myself leaning towards a specific language for .NET, I just consider myself a .NET developer. Programming languages are just like religion, everybody has his or her own choice/taste.

  • Anonymous
    August 11, 2004
    In India its just the reverse then HongKong. Job requiremetns is VB.NET ....

    As the opinion of drebin, doesn't "encourage" a developer to become better

    I think VB.NET is designed for quick development as programmers don't have to write much like you type if and rest will be completed. when there is a deadline of projects, u very much prefer such a thing.

    case-sencetive languages do slower the speed. is my experience.

    Yes i agree to one thing that C# coding can make programmer become better, but vb.net guys are already better ... ;) just teasing u...

    I think C# is better choice of companies because its ECMA. i have't read much, but would like to know why only ecma spec. for C# , why not VB.NET ?


    -Jignesh

  • Anonymous
    August 19, 2004
    You can write bad code in any language. You just have issues with a bad working environment/unqualified and lazy co-workers, which happens in EVERYTHING - not just VB coding like you seem to think. You will encounter that in just about every place you work. VB.Net is better than C# in many cases, and the same holds true as well.

  • Anonymous
    December 18, 2004
    Helpful For MBA Fans.

  • Anonymous
    December 18, 2004
    Helpful For MBA Fans.

  • Anonymous
    November 03, 2006
    ...yet want to sound like they do. I would love to see the like of Jay Roxe (Microsoft) put in a room

  • Anonymous
    January 18, 2008
    Yesterday was a fairly exciting day.... I had to fly down to San Francisco to get my visa for that trip

  • Anonymous
    January 18, 2008
    Yesterday was a fairly exciting day.... I had to fly down to San Francisco to get my visa for that trip

  • Anonymous
    April 06, 2008
    PingBack from http://collegefunfactsblog.info/somasegars-weblog-vb-yesterday-today-and-tomorrow/

  • Anonymous
    April 12, 2008
    PingBack from http://collegesboardblog.info/somasegars-weblog-vb-yesterday-today-and-tomorrow/

  • Anonymous
    February 02, 2009
    <a href= http://index1.ibynici.com >metalist</a> <a href= http://index2.ibynici.com >apartments uab</a> <a href= http://index3.ibynici.com >insight trading</a> <a href= http://index4.ibynici.com >printable to do list</a> <a href= http://index5.ibynici.com >u of a softball schedule</a>

  • Anonymous
    February 04, 2009
    <a href= http://index1.kuvalda-200.ru >����� � ������ ������</a> <a href= http://index2.kuvalda-200.ru >�������� ���������� ������ �����</a> <a href= http://index3.kuvalda-200.ru >���� ������������ ������ �����</a> <a href= http://index4.kuvalda-200.ru >������� ���������������� ��������</a> <a href= http://index5.kuvalda-200.ru >������� ���������� ����� ������</a>

  • Anonymous
    May 30, 2009
    PingBack from http://outdoorceilingfansite.info/story.php?id=4376

  • Anonymous
    May 31, 2009
    PingBack from http://outdoorceilingfansite.info/story.php?id=22012

  • Anonymous
    June 09, 2009
    PingBack from http://weakbladder.info/story.php?id=2388

  • Anonymous
    June 09, 2009
    PingBack from http://insomniacuresite.info/story.php?id=3748

  • Anonymous
    June 12, 2009
    PingBack from http://greenteafatburner.info/story.php?id=79

  • Anonymous
    June 16, 2009
    PingBack from http://fixmycrediteasily.info/story.php?id=3700

  • Anonymous
    June 18, 2009
    PingBack from http://patiosetsite.info/story.php?id=604