Pregunta

Siempre he tenido una cosa con C ++ / CLI. Tal vez porque no muchos desarrolladores lo usan ... o simplemente porque es diferente.

Suponga que Microsoft es totalmente compatible con C ++ / CLI como lo hacen con VB.NET y C # (es decir, LINQ, WPF, etc.). ¿Lo usarías?

Si no, ¿por qué?

¿Fue útil?

Solución

Yo hago lo uso. Incluso con la relativa falta de soporte de herramientas, todavía supera a P / Invoke sin procesar para tratar con Win32.

En cuanto a LINQ, realmente no me importa ver mucho más pirateado en el lenguaje C ++. LINQ se puede usar tal como está: si van a mejorar el compilador, deberían funcionar con el soporte de C ++ 0x ...

Otros consejos

Se trata de usar la herramienta adecuada para el trabajo correcto. Utilizo C ++ / CLI para el trabajo de interoperabilidad de la plataforma porque es mucho más fácil corregir el cálculo de referencias. Uso C # para casi todos los demás trabajos .NET, con algunos VB.Net (me gusta el XML en línea). Admito que aún no he aprendido IronRuby, IronPython, F # ni ningún otro lenguaje .NET, pero lo estoy considerando seriamente para aumentar mi arsenal de programación.

Para responder a la pregunta, no creo que lo use más de lo que ya lo hago porque siento que ya lo uso para los trabajos que mejor se ajustan. C # sigue siendo el mejor lenguaje .NET como lo veo porque fue diseñado específicamente para esa plataforma, en lugar de usar un lenguaje antiguo para que se ajuste a él. Agregar un mejor soporte para C ++ / CLI solo disminuiría mi tiempo de desarrollo, en lugar de influir en mi uso desde otro idioma.

C ++ / CLI cumple muy eficazmente con la promesa de unir código administrado y no administrado. Te permite exponer lo que se siente como una biblioteca C # perfectamente nativa con acceso al 100% a bibliotecas / C ++ nativas en el interior " ;. No es un ejercicio de elegancia, pero en la historia de las herramientas prácticas de programación, ¿qué se compara?

Si necesita LINQ y WPF, solo use C #. Esa es la belleza de C ++ / CLI: escriba su envoltorio administrado y luego vuelva a C #. No veo que C ++ / CLI intente reemplazar C # para el uso diario.

  

... pero no estoy del todo claro sobre qué ofrece C ++ / CLI que C # no ofrece. - @ Thomas Owens

Un gran beneficio (en mi libro) es RAII (consulte responda dada por Adam Wright a mi pregunta sobre RAII en .NET ).

Quizás ... pero no estoy del todo claro sobre lo que ofrece C ++ / CLI que C # no ofrece. ¿Punteros, tal vez? He hecho toda mi programación en .NET (lo poco que he hecho) en C #, y estoy empezando a aprender F #, pero si estuviera totalmente respaldado y bien documentado, seguro, le daría una oportunidad.

Estoy mezclando C ++ / CLI con MFC para aprovechar las ventajas de WPF y XAML, pero estoy usando los nuevos componentes de la cinta de opciones sin paquete de características de C ++ 2008. :)

No lo usaría porque no quiero estar atado a un gran tiempo de ejecución. Y no me gustan todos esos ^ punteros de puntero :)

Me gusta / extraño la gran biblioteca que ofrece .NET, sin embargo.

Lo uso para admitir código heredado, así como para escribir cuñas entre código administrado y código nativo. Me encanta que VS11 lo soporte mucho mejor

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top