Are you talking about native C++ or managed C++?
Native C++ doesn't have modern features such as garbage collection or
delegates. Managed C++ will give you what C# does, but it's more
complicated to use.
If you care about pure flexibility and performance, then assembly language
can do everything that C++ can do. But normally we're not _purely_
interested in those things. It's a tradeof between those things and ease of
development and expressiveness. So I think it's apples and oranges. I would
like to use C# for some of the things I have to do, but I simply cannot
because I need to use a systems level language.
BTW, if you want modern language features AND the performance of a systems
level language, you might want to look into the D language. It's very nice,
although not mainstream.
"Greg" <gm@mcpherran.com> wrote in message
news:26**********************************@microsof t.com...
After questioning, reading, and posting back and forth, I have finally
determined that as far as desktop .NET development is concerned, C# is
simply
a subset of C++, period. There is nothing you can do in C# that you can't
do
in C++ but there are things you can do with C++ that you can't do with C#.
C# may be easier and may be a bit more RAD but that's not what interests
me.
Perfomance and flexibility are what interest me and that's where C++ has
the
edge.
Hope this is helpful to all those who seem so unsure (as I was) which
language to chose.
If peak performance and the most language features is important to you,
then
C++.
If decent performance easier/RAD development is more important to you then
C#.
My general recommendation is C++.
--
Greg McPherran
www.McPherran.com