S
steve.anon
Hi I'm a Java developer moving to windows only applications. Of course
the first thing I thought was "well at least, without the VM now I can
write desktop applications that run real fast".
So I was happily heading to refresh my C++ memory and learn MFC when I
ran into this on Wikipedia:
".... applications written in Managed C++ have automatic garbage
collection and will run via the .NET virtual machine, just as
applications written in C# and Visual Basic .NET do. Additionally,
applications written in Managed C++ compile to CIL-Common
Intermediate Language-and not directly to native CPU instructions
like regular C++ applications do."
Now, it's my understanding that Microsoft is really pushing for all C++
programmer to use Managed C++, and that MFC, while still supported,
will not get too much spotlight on Longhorn. In fact I have read in a
few places that to benefit from the new Aeroglass/Avalon 'look and
feel' you will be pretty much forced to use Managed C++.
So... if you are using Managed C++ you are using a VM, so you basically
lose the 'traditionnal' advantage of C/C++ being 'faster' than C# or
Java. It's almost as if the only reason one would want to use C++ is
because they already know it, certainly not because it will provide
better performance on Longhorn. Basically, almost as if Microsoft was
providing "Backward compatibility".
If that's the case, then I suppose a Java guy like me probably will be
more at home with C#. But before I make the jump and invest a lot of
time and effort in this project, I'd like to ask this group their
opinion first.
I do find this very odd. I installed Paint .Net and noticed the whole
thing runs slow compared to say, Photoshop. It also took an awful lot
of memory for what it did. I can't really imagine Ms would want
EVERYONE to build applications that run within VMs, JIT or not. Sounds
horribly wasteful to me, especially since after all they do have
control over the platform.
TIA,
Steve.
the first thing I thought was "well at least, without the VM now I can
write desktop applications that run real fast".
So I was happily heading to refresh my C++ memory and learn MFC when I
ran into this on Wikipedia:
".... applications written in Managed C++ have automatic garbage
collection and will run via the .NET virtual machine, just as
applications written in C# and Visual Basic .NET do. Additionally,
applications written in Managed C++ compile to CIL-Common
Intermediate Language-and not directly to native CPU instructions
like regular C++ applications do."
Now, it's my understanding that Microsoft is really pushing for all C++
programmer to use Managed C++, and that MFC, while still supported,
will not get too much spotlight on Longhorn. In fact I have read in a
few places that to benefit from the new Aeroglass/Avalon 'look and
feel' you will be pretty much forced to use Managed C++.
So... if you are using Managed C++ you are using a VM, so you basically
lose the 'traditionnal' advantage of C/C++ being 'faster' than C# or
Java. It's almost as if the only reason one would want to use C++ is
because they already know it, certainly not because it will provide
better performance on Longhorn. Basically, almost as if Microsoft was
providing "Backward compatibility".
If that's the case, then I suppose a Java guy like me probably will be
more at home with C#. But before I make the jump and invest a lot of
time and effort in this project, I'd like to ask this group their
opinion first.
I do find this very odd. I installed Paint .Net and noticed the whole
thing runs slow compared to say, Photoshop. It also took an awful lot
of memory for what it did. I can't really imagine Ms would want
EVERYONE to build applications that run within VMs, JIT or not. Sounds
horribly wasteful to me, especially since after all they do have
control over the platform.
TIA,
Steve.