VB - set to dominate !!

Posted Sun, Aug 28 2005 1:01 by bill

 

Just finished watching another great channel 9 video.  It really should have been two parts, but it's worth watching the whole thing.  The real kicker stuff comes in about 40 minutes or so into the tape.  It's really interesting to hear the talk about dynamic languages with Erik Meijer and of course Joel Pobar.  Erik talks about the spectrum of languages from the fully dynamic such as iron python to the fully static like C++ or C#.  The key to note here is how Erik talks about VB as being the language that does both dynamic and static.  To quote Erik :

" in a year's time people will point at VB as an example of modern language design because it especially allows you to span these two worlds ..."

 

Of course I'd say if people needed another year to realize that, they just haven't been paying attention.  I've talked about it before, how VB is better designed than, say C# for example. VB has led the way with abstractions and declarative programming. dynamic programming too, has always been there.  The importance of this will really come into play when we start seeing the worlds of "data" and "general programming" also begin to meld.

Paul's talk is definitely stirring up a buzz already, with InfoWorld titling their article "Microsoft set to hail Visual Basic 9.0"

 

And even Mitch Denny seems to be getting on the bandwagon too.  I noticed he's listed the VB sessions he plans to attend

I especially like the:

  • Visual Basic Tips/Tricks and Other Advanced Topics (Nick Randolph and Bill McCarthy) wouldn’t miss this one for the word!

     

    Thanks Mitch !

     

    At TechEd next week we can't talk about the Orcas stuff unfortunately, you'll have to wait just a few weeks more till after the PDC.  But there's so much good stuff install with Whidbey, we wouldn't have time anyway smile  One thing's for sure, if you are a VB developer, well life could not be sweeter. 

    If you are a C# developer, well it really is time you started learning VB properly.  A lot of you guys say you can code in VB, when truth is you can call methods when it's the same as C#, but you haven't really learnt the intrinsic beauty and elegance of VB.  It's a hard journey for some of you, but you have to start some time.  VB is clearly going to be the language of the future.  So join Mitch, and come see some great VB talks.. It's bound to be lots of fun.

     

     

  • Filed under: , , ,

    Comments

    # Bill is confused.

    Sunday, August 28, 2005 12:20 AM by TrackBack

    # re: VB - set to dominate !!

    Wednesday, August 31, 2005 9:18 AM by bill

    I have been programming for over 10 years now. I started in VB and I'm still using VB today. However, I must admit, I don't share your belief that VB will dominate the world. At 1 time I shared that belief... that is until the release of a new language called C#.

    C# has so many advantages over VB it would take a novel to show them all. I will cover some of them in this post. I'm not going to list things that C# can do that VB can't... or things that VB can do that C# can't... because it is irrelevant to what I'm talking about. The simple fact is, both languages can do virtually the same thing and they both have their place in the programming world. I'm a firm believer in the right tool for the right job and I personally use VB just as much as I use C#.

    I realize some of you are probably very good at writing VB code that is set up nicely and easy to read and that your programs flow naturally and logically. The sad fact, however, is that most VB programmers are not very good at it. In the real world, there are a lot of sloppy VB programmers because for years these programmers had to deal with a lousy programming language that taught them bad habits. Granted, I have seen some pretty poorly built applications in C#, but not even close the messes I have had to deal with in VB. Put VB into the wrong hands and you will truly get a mess that can be very difficult to clean up later, usually by programmers who didn't make the original mess.

    C# is much more elegant language because if it's use of symbols rather than words. I realize that C# uses keywords just as VB, but the C# language takes advantage of symbols in many cases, making the code much easier to read and understand. To demonstrate this... take your best VB programmer and your best C# programmer. Give them the same project to build. When the project is complete, have another VB and C# programmer look at the code and explain it... which is a VERY real situation in the real world of professional programming. I can guarantee 9 out of 10 times the C# will be much easier to read, explain, and debug if necessary. Even after 10 years of VB and just 2 years of C#, I can read C# twice as fast and twice as clear. In the real world... chances are... the person building that VB application won't be doing so elegantly as your best VB programmer.

    C# has another advantage over VB that it will always have. The syntax and style of C# is so similar to Java, JavaScript, and C that to know 1 is to be well rehearsed in rest. Granted, Java and C or C++ have different rules to follow, but they are similar enough to be well rehearsed. Ever written an ASP.NET web application? It is so much easier to maneuver between C# and JavaScript than from VB to JavaScript. I have done both several times, and I'm not knocking VB nor am I saying it can't be done or that some of you aren't good at it. I'm sure many of you are. I'm only pointing out that it's much easier working between C# and JS than VB and JS. I also realize that some of you use VB script... and in those cases, I'm sure it's much easier using VB to VB Script than it is from C# to VB Script. But in the real world dealing with many browsers, chances are most of you will be using JavaScript.

    As I said before, I'm a firm believer in using the right tool for the right job. In many situations VB will be the desired language and will have many advantages over C#. I use VB.NET everyday in my job and there are many things that I love about it. The point of this post is to demonstrate my opinion that I do not believe VB will dominate the world and that I do believe C# is the more elegant language when building low level applications, web applications, or complicated application frameworks. When diving low into the code where the logic is so efficient it becomes extremely complex, I would much rather build and debug it in C# than VB. C# has it's place in the market just as VB and I think both tools will co-exist side by side offering the right tool for the right job for years to come.

    # re: VB - set to dominate !!

    Friday, September 02, 2005 12:15 PM by bill

    In the version of Visual Studio.NET 2003, VB.NET has less advantage than C# indeed. Because VB can hardly do things that C# can't not, with no less codes. But in the future, VB will create it's own world -- dynamic and clarity, easy to use and easy to learn. I believe in the VB Team. They will create the best programming language.

    # re: VB - set to dominate !!

    Saturday, September 10, 2005 5:00 AM by bill

    I agree, in the future VB will create it's own world but along side C# in the process... because Microsoft's strategy is to develop the language together on top of the same framework.

    I must caution, however, that VB will always have a weakness... and that is that it's a proprietary programming language. The C-style of programming language is universal and is more understood by the masses than VB.

    VB will always have it's place and I think we can all agree it has FINALLY matured into a real language. I look forward to see where it goes and have enjoyed watching it mature.

    # re: VB - set to dominate !!

    Sunday, September 11, 2005 10:57 PM by bill

    Baby Jim,

    Where do I start ? Really, not only do you not provide a URL or a real name, but you base your argument on nothing but your own bias, meanwhile while totally missing the point of the original post. Stop and think a bit Baby Jim, and watch the video. "Listen" to what is said.

    I know you C# guys are getting all upset over this, and that's good, because it may mean that C# will evolve too to catch up to VB, and in turn VB will respond. That kind of competition is good for all of us

    But to claim that C# is more elegant or more easily debugged is complete and utter nonsense. C# is more terse, it is not more elegant. A HUGE penalty for that terseness is the lack of declarative programming.. a method becomes less descriptive, no longer indicating it's relationship as clearly as it could.

    Your claim about c# be better suited for low level classes is absurd. The only advantage C# has there is unsafe code, and really, if you use unsafe code in any project I'm working on, be prepared to be shown the door in no uncertain manner You loose all ability to sandbox the code, and it really is an indication of using the WRONG language for the task at hand.

    Another example along the same lines is case sensitivity. Once again, if you use that around me, you sure better have those walking shoes on. It's another example of a completely useless construct in C#, something which you should be able to turn off. And this is part of the BIG problem with C#. It takes on all the worse of C style languages. It's a pity Anders didn't really innovate, instead he just continued the mistakes of the past..

    Oh, did I mention redundant break statements in switch blocks ?

    Let's not forget that it's the C languages that are re-known for having "obfuscated" code writing competitions. No, they aren't talking about obfuscating the compiled code, just making the written code as cryptic as possible. Sadly this is the legacy C# took on board.

    So as far as readability goes, as far as code maintenance goes, C# is in FACT miles behind. Look at how the hoops C# programmers go through just to parse a string can represent a numeric value for example. Too much code written for basic functionality, meanwhile the language focuses on the obscure, the unsafe and the undecipherable. VB on the other hand leads the way in productivity, just as it always has.

    And that, Baby Jim, is the key issue here. In Orcas, watch as VB once again leads the way in productivity when working with data. Read it, watch it, and weep

    Oh, and as to the quality of C# programmers, no I am sorry most too many of them are very shallow impersonators IMO. I call them the Elvis impersonators (insiders joke ) Interestingly, you claim you have programmed in VB for 10 years, so doesn't that make you one of those you say write bad code, have learnt bad habits ? And there you are using those bad habits in C#. The fact it's like JScript seems to have also attracted those script kiddies from the web. unfortunately I see this all too often with code which I can only classify as "written by the clueless".

    The reality is, any VB programmer can learn and use C# in less than a matter of days.... there really is not that huge a difference, just a lot of missing functionality in C#. Within days they will be trained like a keyboard monkey to type ; after each statement, to hit CTRL+B to do what should have been a background build. But their code won't be any different. Sadly for C#, the reason many choose C# is because they believe they can claim their code is somehow better... which is much what your claim was.

    Oh, and as to debugging, let's be 100% clear here Jim, VB eliminates more problems at design time than C# does simply because it has a background compiler. When writing web applications, yes I do use JScript, and find that having client and server side languages different helps in readability. It also minimises the number of mistakes that a lot of people make thinking JScript is the same as C#, which it clearly is NOT. The familiarity of syntax is more problem causing than anything else.

    But Jim, all these things are really beside the point. Here I am just debunking your nonsense rant. I was going to delete it, but it's so typical of the nonsense a handful of C# fanatics espew, I thought I'd leave it just to show how sadly desperate and scared you guys are. You can't argue about the cool things VB is getting in Orcas, so you start with your nonsense line about VB programmers somehow writing worse code. Yet that's exactly who you are. The difference being you switched to C#, just like all the worst of the VB programmers have.

    But Jim, don't totally despair. VB is more powerful and the future is clearly VB will lead the way. and Jim, when you get over your inferiority complex, I'm sure you'll see the light and want to join us