Aprendí la programación de Windows usando Visual C++ y la API de Win32. Hoy en día, parece que la mayoría de las aplicaciones se están desarrollando en .NET usando C#. Entiendo que la mayoría de las veces no hay mucha diferencia de rendimiento entre el código nativo y el código administrado. Así que me pregunto, si hoy comenzara a escribir una nueva aplicación de escritorio, ¿hay alguna razón (aparte del hecho de que estoy más familiarizado con C++), que podría querer escribirla en C++ no administrado en su lugar? de .NET? ¿Todavía hay algunas ventajas al usar C++ y el código nativo? ¿O ese método ha sido más o menos reemplazado por .NET en la plataforma de Windows?¿Qué ventajas hay para desarrollar una aplicación Win32 en C++ sobre una aplicación .NET en C#?
Por supuesto, sé que las personas que escriben controladores de dispositivos de bajo nivel y programas similares no lo harían en .NET. Pregunto en referencia a las aplicaciones típicas orientadas al cliente que no hacen llamadas directas de hardware.
Si la decisión es entre Win32 y .Net ... vaya .Net Varias personas se quejan de no tener .Net para su plataforma ... pero si escribía para Win32 esta plataforma cruzada no es un problema. –
Todavía desarrollo regularmente en C++ win32, incluidas las nuevas aplicaciones. La mayoría de nuestros programas son de naturaleza gráfica con muy pocas funciones comunes de UI. Encuentro que las personas que maldicen la memoria no gestionada solo suelen repetir lo que han escuchado y no tienen experiencia en C++. Prefiero estar "más cerca del hardware" para optimizar ciertos algoritmos. Además, corregiré un gran error: la curva de aprendizaje de win32 es MENOS que .NET y C# (dado que tienes experiencia en C++). Ver - http://www.charlespetzold.com/pw5/index.html. + win32 instala/ejecuta fácilmente todos los win vers. – Jeff
Lo siento, pero rara vez veo aplicaciones .NET en acción. La mayoría de los programas de Windows de hoy están escritos en Win32API/MFC/Delphi/C++ Builder/wxWidget/Qt. – dns