Gasp! Can it be true? Did Anders Hejlsberg really say that the next release of C# was going to be more like VB, and if he did, is this the beginning of the end for all of those holier-than-thou VB-bashers?
I hope so.
I’ve worked with both, and I’m really tired of the argument that one is inherently better than the other (hint: in my experience, that’s a one-sided argument). In fact, there’s a lot to like about both languages. I love, love, love the tool support that you see in C#, and I believe that at least some of this comes from C#’s type safety. Still, I miss the easy of dynamic coding in VB (prior to VB.Net). Event though dynamic typing was widely derided as just plan sloppy programming (and often, it was), you could do some really elegant work in VB without explicitly pulling out the big reflection guns.
We’ve also seen the rise of fully-dynamic languages like PHP, Ruby, and Python in recent years. I’d go as far as to say that these “low-end” languages dominate the web in a way that static languages just can’t touch. Part of this domination comes from cheap hosting (get a shared Linux environment for $3.99 / mo), but part comes from the extensibility that’s possible with these languages. If you’ve ever wondered why you don’t see communities like Drupal or WordPress on .Net technologies, take a look at the way these platforms are built and extended. Dynamic code is absolutely essential for these platforms
If you’re following PDC, you’ve seen the Azure announcement. This goes beyond cheap hosting, of course, but I’m encouraged to see this as an alternative to the existing shared Windows hosting options, which just aren’t that great compared to shared Linux environments. Add to that the dynamic language enhancements coming in .Net 4.0, and I think Microsoft finally has a credible plan to support “2.0” development.
Just as we saw with web browsers, web development, and Java, Microsoft’s response to Web 2.0 has taken a little while, but I think it’ll be worth the wait. Visual Basic developers, welcome back to the cool kids’ table.