Re: Platform (native) development



On Fri, 20 Oct 2006 22:54:47 +0200, "Rastko Soskic"
<rastkososkic@xxxxxxxxx> wrote:

With each appearance of new version of .NET Framework I wonder if there is
point in being stubborn in terms of native (Win32) development. So, the
question for all experts is: Is there point in continuing use of Visual C++
or I/we should migrate to .NET (VC.NET).

IMHO it all depends on what you are doing.

e.g. for a 3D game development, the core 3D engine could be developed
in C++ for high performance; the rest of the game could be developed
in C# (so you don't pay attention e.g. to memory allocation and
exspecially deallocation; the .NET framework runtime will do it), and
maybe the scripting in other languages too (e.g. Python).

I'm studying C# and I'm loving it.

But C/C++ and Win32 I think are good when very high performances are
required (or when you have little memory available, so you can't
afford the .NET framework to be loaded into memory).

Moreover, I suppose that Microsoft Software Engineers use C++ and
Win32 e.g. to develop Office. I think a cool huge app like Office
could not be written in C# and .NET.

And all the existing C/C++ Win32 (or MFC) code-bases cannot be
abandoned; for their mantainance and further development I think C++
is the way to go.

I am asking primarily because I am about to start developing application
dealing with AVI (and other) files including some graphics. .NET in its
current version(s) has no adequate support for this kind of files. On the
other hand, native Win32 API is loaded with routines for this purpose.

I think that if you don't have enough support in .NET framework for
the AVI and related stuff, you shuld use C++ and Win32.

You could also develop the "core AVI" management part of your system
using C++ and Win32, and the rest of the system in C# and .NET
framework. I'm sure that you can call the "unmanaged" C++ Win32 code
from C# (even if I don't know how, because I'm in the beginning of C#
and .NET learning process; maybe you could develop a COM object in C++
and call it from C#; or maybe the C++ "managed" .NET extensions could
be helpful...).

From a general productivity point-of-view, I think C# is more
productive than C++, in the sense that e.g. you can allocate objects
and forget delete-ing them; or you only have a string type (not char*,
wchar*, LPCTSTR, CString, BSTR, etc.); or you only have to type "."
(and not think about :: or . or ->); etc.

Mr.Asm
.



Relevant Pages

  • Re: Can Someone Change My Mind About .NET?
    ... >> Win32 is not going away with LH. ... > the compiler that optimizes it for the current known processors. ... > If you do not recompile the .NET applcation and conventional program, ... > laid out in a certain memory order at the moment you compiled and linked. ...
    (microsoft.public.dotnet.general)
  • Re: Can Someone Change My Mind About .NET?
    ... > Win32 is not going away with LH. ... the compiler that optimizes it for the current known processors. ... Conventional executables are static in nature. ... laid out in a certain memory order at the moment you compiled and linked. ...
    (microsoft.public.dotnet.general)
  • Re: Basic question : Replacing CString when moving from MFC to Win32
    ... if I have a LPTSTR member in a Win32 class, ... do I have to "initiate" or allocate any memory into m_szFirstName in the ...
    (microsoft.public.vc.mfc)
  • Re: Basic question : Replacing CString when moving from MFC to Win32
    ... if I have a LPTSTR member in a Win32 class, ... do I have to "initiate" or allocate any memory into m_szFirstName in the ...
    (microsoft.public.pocketpc.developer)
  • Re: Can Someone Change My Mind About .NET?
    ... Your not going to get faster then native c++ to native win32 ... Many of the .Net classes still wrap win32 calls. ... > the compiler that optimizes it for the current known processors. ... > laid out in a certain memory order at the moment you compiled and linked. ...
    (microsoft.public.dotnet.general)

Quantcast