Por lo que puedo entender, C # es el lenguaje de facto al codificar aplicaciones .NET. ¿Es recomendable programar aplicaciones .NET [sea ASP.NET, WinPhone 7, GUI, etc.] en C ++? ¿Cuáles son los escollos y los inconvenientes si elegimos seguir este camino?
Gracias por compartir.
Respuestas:
Como programador de mucho tiempo que usó C ++ hasta que me mudé a C # /. Net, mi consejo es no usar C ++ para el desarrollo .Net. En realidad, no puede usar C ++ real para programar en .Net, pero una abominación de Microsoft llamada C ++ / CLI con una fealdad que no se encuentra en ISO C ++. Diría que desde el punto de vista de la legibilidad, C ++ / CLI no debería considerarse en absoluto. ¿Desea utilizar _gc, gcnew, etc.?
Además, para fines prácticos, no encontrará muchos ejemplos de código, tutoriales, blogs, etc. con C ++ / CLI, ni encontrará programadores que sepan o quieran trabajar en C ++ / CLI. No es un lenguaje natural para el desarrollo .Net. C # / VB.Net / F # continuará cambiando mucho más rápidamente con nuevas características en comparación con C ++ / CLI.
fuente
La idea misma de .Net es que puede usar cualquier idioma con el que ya se sienta cómodo y usar la plataforma DotNet sin tener que aprender un nuevo idioma nuevamente. Una forma de verlo es como una inversión de la pirámide de Java. Java puede explicarse como "lenguaje único-único ejecutable (IL) -mucho SO". dot net es "muchos lenguajes, uno ejecutable, un SO" (por supuesto, el bit de un SO es incorrecto ya que tenemos Mono, pero no creo que eso sea lo que Microsoft tenía en mente :-P).
Sí, C # estaba destinado a ser EL lenguaje para DotNet, pero no "EL ÚNICO". Microsoft probablemente esperaba lograr que los programadores de C ++ migren a C # a largo plazo, si no de inmediato. Pero eso no parece estar sucediendo. C ++ sigue siendo el tercer lenguaje más popular. La falta de similitud con un lenguaje y el esfuerzo necesario para portar una aplicación de C ++ a C # ha hecho que la mayoría de los desarrolladores sean reacios. Después de todo, ¿por qué arreglar algo que no está roto? Es por eso que Microsoft ideó C ++ / CLI. Es una forma maravillosa de obtener programadores de C ++ en el vagón DotNet sin tener que aprender un nuevo lenguaje. Me tomó muy poco tiempo acostumbrarme a C ++ / CLI. El único inconveniente que vi fue que la nueva notación de puntero para las clases administradas puede confundir a aquellos que tienen una comprensión débil de los punteros en C ++. Aunque no me afectó.
fuente
No veo cuál es el beneficio. El principal beneficio de C ++ es un código nativo, autónomo y de bajo nivel crítico para el rendimiento. Una vez que esté utilizando un entorno administrado y todo el equipaje que trae, no puedo ver por qué no querría un lenguaje más moderno diseñado para entornos administrados.
fuente