Join 300,372 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,471 people online right now. Registration is fast and FREE... Join Now!
Microsoft will converge features of Visual Basic and C# languages with planned upgrades to the two platforms, a Microsoft official said this week.
Visual Basic 10 and C# 4 are both due concurrently with the Visual Studio 2010 IDE, which might ship at the end of the year.
The Visual Basic and C# teams "were merged last year, and it's called the Visual Studio managed languages team," said Beth Massi, senior program manager at Microsoft, during the VSLive conference in San Francisco. Also under the team's domain are the F# language, for functional programming, and Microsoft's DLR (Dynamic Language Runtime), supporting dynamic languages on the .Net platform.
Visual Basic and C# developers build the same type of applications, such as Web and business applications, and the intention is to co-evolve the languages together, Massi said. .Net has unified how applications are written, she said. "It's much less focused on the language," Massi said
Visual Basic 10 and C# 4 will gain interoperability with dynamic languages. Programmers, for example, could tap into a JavaScript engine in an ASP.Net application, according to Massi. "In both of the languages, Visual Basic and C# are going to have interop with the DLR," for interaction with scripting languages such as Python, Massi said. The DLR has not yet been released.
Both Visual Basic 10 and C# 4 also are to get an array literals capability for inferring array types. The two languages also will gain collection initializers for initializing a list or dictionary with data using the new "from" keyword.
Multi-line and statement lambdas, another ease of use feature saving programmers from having to return values, also is due in both language upgrades. Compiling without primary interop assemblies also will be enabled in both.
A generic variance capability will be offered in the languages for widening or narrowing the scope of generic types, such as a list.
Visual Basic 10 also will include auto-implemented properties, an ease of use programming feature already in C# 3. Also, Visual Basic 10 will gain an implicit line continuation capability so developers do not have to write underscores in LINQ (Language Integrated Query).
Let's not jump to conclusions just yet. The article said:
QUOTE
Microsoft will converge features of Visual Basic and C# languages with planned upgrades to the two platforms, a Microsoft official said this week.
Converge features of languages, not languages themselves (like you implied in your fear-mongering twitter ). C# and VB will probably stay separate languages with their respective syntaxes and quirks, but I don't think they'll morph into some VCB# hybrid.
I recall when LINQ came out and I thought, "Oh, look, Microsoft has a closet Python programmer or something."
For the last five years, it's felt like features were added to add features. It now seems like all the VB programmers gave up, the Java programmers that inspired C# have left the building, and the code monkeys are just running about squawking madly.
It feels like VB is being assimilated by C#. This process began with .NET. soon VB's "journey towards the darkside will be complete."
If this actually happens i do not understand this whatsoever on Microsoft's part. Why would they do something like this? In my opinion it makes 0 sense.
MS trying to make tools/features available in both languages?
If you want something available in both languages, you merely make it part of the common framework and it's shared by any .NET language.
This seems like something more that that. It looks like they want to make the languages themselves similar. The result of that will mostly likely be a still born VB.
It is obviously a cost saving measure of some kind. Supporting only one .NET language is doubtless more efficient than two. It remains to be seen how far and silly they'll go with it.
They better be careful, they might get lawsuits against them for being a monopoly.
Nice suggestion, but if I had a nickle for every time Microsoft did something to inch towards being a monopoly, I'd be a millionaire. Microsoft would also be the width of the known universe. Sorry to break it to you, but it wont happen. Microsoft is invincible.
I'm not so sure about this new Microsoft CEO... Although I'm sure it wasn't all of his doing, he definitely in some way shape or form had something to do with it.
They (Microsoft) have been slowly destroying the VB language ever since it became a part of the .NET platform.
Why take a language that is used to MANY as a gateway into more advanced languages, and make it less attractive to beginning programmers? It's like selling *insert narcotic here* and making it WORSE, and expecting people to buy it. Not happnin, bra.
Let basic be basic... take the other .NET languages to wherever you want, but I think I stand for most programmers when I say, "Leave basic alone."
This post has been edited by pr4y: 3 Mar, 2009 - 12:48 PM
Merging the two languages won't be a bad idea. Already, .NET was a big step in this direction - both VB.NET and C# use the same class libraries, available in .NET.
In my opinion, concentrating on a single language (like C#) would actually have its benefits - one of them being less confusion among the developers while operating with the code that needs to be written to perform the same task.
Well that topic title sure did give me a scare. But after reading the article I actually find it interesting. My first thought is that the .NET framework might get even more attention which is definately a good thing. Of course this could have downsides as well. VB and C# are two quite different languages and personally I really like it that way so I just hope for the best.
Ultimately I think the results of this so called "merge" are very hard to predict. I guess we'll just have to trust Microsoft and hope that they listen if an army of mad developers start flaming.
I like both languages but I wouldn't want VB.NET to pee in C#'s pool so to speak. If they want to continue building features into each language and then when they are close enough drop VB.NET altogether instead of trying to merge any syntax or anything, I could live with that.
I just don't want to get all verbose like they do with VB. Not to say it isn't a nice language, but I find C# a tad bit more streamlined for my tastes.
MS trying to make tools/features available in both languages?
If you want something available in both languages, you merely make it part of the common framework and it's shared by any .NET language.
This seems like something more that that. It looks like they want to make the languages themselves similar. The result of that will mostly likely be a still born VB.
It is obviously a cost saving measure of some kind. Supporting only one .NET language is doubtless more efficient than two. It remains to be seen how far and silly they'll go with it.
Let's start an official anti VB/C#.NET merge petition. I'm totally against it, I love C# and despise VB. They're just gonna create some average shite that I won't care for any more.