On "First Class" Languages for .NET

Steve Teixeira explains the strategy for Microsoft C++ products and gets dinged in comments with requests to "make VC 8 be a genuine first-class language instead of a second-class one that is useful only as communications tool to a first-class language (C# or VB)." He later responds, "On the VC++ team, we’re more interested in enabling development scenarios that are important to our customers than trying to meet some arbitrary bar for being a ‘first class’ .NET language."

Of course many people say precisely the same things about Delphi for .NET, and the answer is just the same. I couldn’t agree more with Steve’s reply. In my opinion many people use the phrase "first class .NET language" to mean "looks and feels exactly like C#." Folks, C# exists, and it’s a fine language, so if you want to use something which behaves exactly like C# why not just use it? C++/CLI and Delphi for .NET aren’t supposed to act precisely like C# in every way because they’re different languages.

Update: Marco Cantù has some comments on this post which are worth reading.