The C# Team seems to speak out of both sides of its mouth

I was reading an article about VB9's XML Literal support and why C# decided not to support it.  (Note, I agree with C#'s lack of support for it, but that's not what this post is about).  Paul Vick said:

It is extremely risky to tie yourself explicitly to a technology that may or may not be here 15 years from now. Right now, XML is king. But what happens if some other technology comes along and knocks it off its perch? What if things radically shift in some other direction and XML suddenly becomes a side track instead of the main line?

While I agree with this notion, this seems to be the exact reason for *not* including LINQ. Why are they willing to tie the language to a brand-new notion of language integration that might not be here in two years, but they saying they don't want to pollute the language with XML becuase they are not sure it will be here soon? 

It seems like they are talking out of both sides of their mouth on this one. If it is important that the language remain clear and simple, why introduce LINQ with the related features (extension methods and variable inference)?

Comments:

Gravatar

Shawn - What was the context of the above statement by the C# team?

SM

Gravatar

Shawn,

I have had a few hours to think about this and ponder, and I have come to the conclusion no and this is why. VB .net has taking the path of implementing XML to the language level in the linq project, so if XML version 2 changes significantly the xml spec VB will have to change its language spec.

C# abstracts using linq. so if XML changes its spec the language doesn't have to be updated to make the change. A new linq library just has to be created.

That is what I see as the main difference. VB only does that with XML, objects are native to the langauge and SQL and entities have the same abstraction.

douglas

Gravatar

So iow, Linq, and the supporting language features are adaptable to the data platform of the day, the key part is that the query will be realatively the same no matter what just look at the linq platforms that have already been created outside of those that will come with orcas, XSD, Amazon, I know of a couple in the works for comma delimeted files. and text files(not sure how that later one will work).

We all know there will always be data.



douglas

Gravatar

Shawn, I would be interested in the reference for that quote. It sounds something that Anders would have said rather than Paul and echos the policy that the C# team is using in keeping XML literals out of C#.

Gravatar

Sorry, i forgot to include a link to Paul Vick's original Blog Entry on this. Its now at the top of the article.

Gravatar

Ah, checking Paul's statement, he prefaces the quote you extracted with the following: "If you talk to the C# team about this, you get some very explicit concerns about the long-term impact that integrating XML into the language might have. I would characterize these concerns in my own words." I think what he is saying is that the points below (the one you quoted) are the views of the C# team, not Paul's. If you re-read the original, I think you'll see what I mean. I think both the VB and C# stance are quite set at this point and the C# team is not speaking out of both sides of their mouth.

Gravatar

I do know that the C# team knows how to do XML Literals, they just choose not to. Check out my picture of Anders coding in VB at http://devauthority.com/blogs/jwooley/archive/2007/03/27/35006.aspx.


 



 
Save Cancel