¿Cuál es la principal diferencia entre Microsoft visual C # y Microsoft visual C ++?


Respuesta 1:

Los programas C ++ suelen ser mucho más rápidos. Esto se debe a que si utiliza la pila de hardware, los programas son más amigables con la caché. C ++ permite construir objetos de una clase en cualquier memoria: heap, stack, static, const, compile-time cuando solo se permite el heap para las clases de C # y para las estructuras se apilan y se amontonan (convertidas en estructura de objeto que se llama 'boxing'. Terminología neta).

Además, las plantillas de C ++ son mucho más potentes y, junto con las macros, le permiten hacer adaptaciones de sintaxis en línea con la semántica de campo. Se sabe que la metaprogramación de plantillas de C ++ es un sublenguaje completo de programación en tiempo de compilación.

C # compilado en lenguaje intermedio de .NET llamado MSIL. Luego, durante el tiempo de ejecución o la instalación (hasta el desarrollador) se compila en el código de la máquina. Lo que parecía bueno debido a la diversidad de arquitecturas de código de máquina. La idea tomó de Java. Sin embargo, hay .NET Native en desarrollo que está a punto de permitir la compilación directa al código de la máquina durante la compilación.

C # tiene un potente marco .NET que también es accesible para C ++. Es posible mezclar C ++ nativo y .NET C ++ en la misma biblioteca de enlaces dinámicos que se denominan ensamblados en la terminalogía .NET.

Básicamente, C ++ permite obtener del hardware todo lo que es posible cuando C # permite la adaptación tardía del código incorporado a nuevas arquitecturas a pesar de que las nuevas versiones .NET implementadas para ese nuevo hardware generalmente requieren que su programa sea reconstruido de todos modos. Hay una buena alternativa para que los programas nativos de C ++ se almacenen en el lenguaje intermedio LLVM llamado código de bits que técnicamente permite la creación previa en el mercado de la tienda de aplicaciones en el código de máquina solicitado antes de la descarga. La tienda de aplicaciones funciona correctamente para aplicaciones móviles para diferentes arquitecturas móviles para sus dispositivos iOS. Esa es la mejor manera.


Respuesta 2:

Es bastante difícil nombrar "una cosa" que los distingue. Visual C ++ es un lenguaje (con varias herramientas y bibliotecas para escribir aplicaciones y servicios de Windows), mientras que C # es en muchos aspectos más similar a Java como punto de partida, pero ha evolucionado significativamente en sus muchas versiones para incluir muchas sutilezas sintácticas para que el programador trabajo más eficiente y para mejorar la legibilidad, así como simplificar tareas como la programación asincrónica y consultas estructuradas de datos.

C # también es un lenguaje .NET "administrado" que generalmente se compila en código intermedio en lugar de ejecutables nativos, e incluye compilación JIT en tiempo de ejecución y recolección de basura, mientras que en C ++ se compilan ejecutables nativos a través de un proceso de compilación tradicional.