
I'm not an expert in language parsing, but it is generally acknowledged that
C# is easier to parse than C++ is. I would think that due to the native C++
parsing requirements that C++/CLI needs to support, any extensions to
accomodate LINQ and partial classes might be more difficult than the
equivalent changes in C#. In addition, the codebase for the C++ compiler is
very old and changes take longer. When it takes several years to revamp the
front end to support a better Intellisense (in Orcas+1), you get the idea
(again, just speculation) that things in the C++ team don't move very fast.
Yes, and that is really nice, but not in itself a reason to use C++ for new
.NET apps.
Just speculation, although based on what I hear as a Visual C++ MVP and
further verified by public Channel 9 videos. You certainly can't argue that
native C++ users weren't getting their needs met, hence the immenent
Orcas-but-a-little-late release of TR1.
Yes, I've also said this for some time. We both know that Microsoft has
enough resources to do this, so why don't they? I think the answer is
obvious: the payoff isn't there! Like it or not, there aren't enough
people like you who are interested in using C++/CLI as a first class .NET
language. I was once with you that I didn't want to use C#. But now I
don't want to use C++/CLI....
C# has a momentum for .NET apps that C++/CLI will never have (even if it
retained it's title as a first class .NET language). It had that title for
2 years and went nowhere with it. I am heavily investing in learning WPF
now, and that community is very, very C# oriented. It's easier to fit in.
Besides, the tools for C# are way better than for C++ (Resharper, etc.).
And a C# program is more readable than a C++/CLI program without all those
'^'.
Well, they tried that, and like I said, C++/CLI as a pure .NET language
really didn't go very far in the marketplace (present company not
withstanding). Microsoft Bob also did not get very far, and I don't think
we cried much when they cancelled that (despite the fact that Melinda Gates
was a PM on that project). It's a business, after all. And I speculate
(only speculation) that Microsoft saw only two types of programmers wanting
C++/CLI: 1) native C++ programmers looking to use a familiar friend with
new .NET apps, and 2) native C++ programmers looking to extend legacy apps.
Since C# was designed to be easy for C++ programmers to learn, MS is not
going to lose much money by not supporting #1. #2 happens to have some very
large corporate accounts (including MS's own Windows team and other product
teams), so it makes sense to support them, which they are with C++/CLI in
its new role as a way of extending native apps to make use of .NET.
As I said, I once was one of C++/CLI's staunchest supporters. But really,
C++/CLI only makes sense if your basis is in C++ and you are looking to
extend into .NET. Otherwise, your basis is C# and you want to stay in .NET.
There are plenty of programmers coming into the workforce which know C# a
whole lot better than C++, and that trend is going to accelerate, just like
there aren't that many new programmers who know much 80x86 assembly
language. Microsoft isn't going to invest much money in keeping legacy
programmers since by definition, it's a shrinking market.
I think one camp in Microsoft was very serious about it 2 years ago, but it
didn't work out. Life goes on.
You make it sound like I drank Microsoft cool aid or something. That isn't
true. I am a consultant, and a businessman. I made a business decision to
develop in C#, because it is more productive and money saving due to the
better tools and third party support, and the learning curve was easily
accomodated. If I made Microsoft happy by doing that, I can think of worst
people to make happy. Microsoft has been good to me over the years. I've
made a lot of money (heck, 100% of my money) over my career on their
technologies, and they have always treated me well. It's not a sin to make
Microsoft happy, I don't know where you are going with that. I'm certainly
not going to boycott C# because they did an experiment with C++/CLI and due
to how that experiment turned out now want to go in a different direction
with it.
-- David