C++ frente a C# – Part 1

C# es un lenguaje de programación de propósito general, moderno y orientado a objetos pronunciado como «C sostenido». Fue desarrollado por Microsoft dirigido por Anders Hejlsberg y su equipo. 
C++ es un lenguaje de programación estático, multiparadigma y orientado a objetos. Al principio, C++ se denominó C con clases. Fue desarrollado por Bjarne Stroustrup en AT & T Bell Laboratories. 

A continuación se muestran algunas de las principales diferencias entre C++ y C#:

Rasgo C++ C#
Gestión de la memoria En C++, el programador realiza manualmente la gestión de la memoria. Si un programador crea un objeto, entonces es responsable de destruir ese objeto después de completar la tarea de ese objeto. En C#, la gestión de la memoria la realiza automáticamente el recolector de elementos no utilizados. Si el programador crea un objeto y después de completar la tarea de ese objeto, el recolector de basura eliminará automáticamente ese objeto.
Dependencia de la plataforma El código C++ se puede ejecutar en cualquier plataforma. C++ se usa cuando la aplicación necesita comunicarse directamente con el hardware. El código C# es específico de Windows. Aunque Microsoft está trabajando para hacerlo global, hasta ahora el sistema principal no brinda soporte para C#.
Herencia múltiple C++ admite herencia múltiple a través de clases. Significa que una clase puede extender más de una clase a la vez. C# no admite herencias múltiples a través de clases.
Cuenta de cheques encuadernada En C++, el compilador no realiza la verificación de límites. Por error, si el programador intenta acceder a un índice de array no válido, dará un resultado incorrecto pero no mostrará ningún error de compilación. En C#, el compilador realiza la verificación de la array. Por error, si el programador intenta acceder a un índice de array no válido, dará un error de compilación.
Punteros En C++, los punteros se pueden usar en cualquier parte del programa. En C#, los punteros solo se pueden usar en modo no seguro.
Tipo de idioma C++ es un lenguaje de bajo nivel. C# es un lenguaje orientado a objetos de alto nivel.
Nivel de dificultad C++ incluye características muy complejas. C# es bastante fácil porque tiene una jerarquía de clases bien definida.
Tipos de aplicaciones C++ se usa típicamente para aplicaciones de consola. C# se utiliza para desarrollar aplicaciones móviles, de Windows y de consola.
Compilacion El código C++ se convierte en código de máquina directamente después de la compilación. El código C# se convierte en código de lenguaje intermedio después de la compilación.
Orientado a objetos C++ no es un lenguaje de programación orientado a objetos puro debido a los tipos de datos primitivos. C# es un lenguaje de programación puro orientado a objetos.
Especificadores de acceso Los modificadores de acceso son public, private, protected. No contiene modificadores de acceso internos internos y protegidos. En C#, public, private, protected, internal y protected internal se utilizan para los especificadores de acceso.
Variable de prueba En la declaración de cambio, la variable de prueba no puede ser una string. En la declaración de cambio, la variable de prueba puede ser una string.
Declaración de control No contiene tal declaración de control de flujo adicional. Además de for, while y do while; tiene otra declaración de control de flujo llamada para cada uno.
Punteros de función Tiene el concepto de punteros de función. No tiene el concepto de punteros de función.
binarios En C++, el tamaño de los binarios es bajo y ligero. En C#, el tamaño de los archivos binarios es alto debido a las bibliotecas generales.
Recolección de basura                    C++ no admite la recolección de basura. La recolección de basura es compatible con C#
Tipos de Proyectos Se utiliza principalmente para proyectos de este tipo que se centran en acceder al hardware y mejorar el rendimiento. Se utiliza principalmente en el desarrollo de aplicaciones modernas.

Publicación traducida automáticamente

Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *