C++

Conoce un poco más del lenguaje de C++

¿Qué es el lenguaje C++?

El lenguaje de programación C++ nos posee una gran variedad de ejemplos en cuanto al uso de este lenguaje, algunos ejemplos son:

El C + + es un lenguaje de programación de propósito general el cual fue desarrollado a partir del lenguaje C para que pudiese manejar objetos y con pocas excepciones incluye a C. Esta parte de C incluida en C + + es conocida como c- y puede compilarse como C + + sin problemas. Sin importar que este es un lenguaje de programación con varios años de uso, es uno de los mas demandados en la actualidad ya que se encuentra de terceras por debajo de Python, y C#.

  • Bases de datos:  MySQL, es una de la base de datos que está escrita a base de lenguaje C + +.
  • Navegadores web: Google Chrome, Facebook, Microsoft, Adobe Acrobat, son algunos navegadores y páginas web que utilizan este lenguaje.
  • Sistemas operativos: Gracias a la velocidad y rapidez que brinda el C + + varios sistemas están construidos a base de este lenguaje algunos de estos ejemplos son Android, Mac Os, Windows, Linux.
  • Videojuegos: Los videojuegos como Halo, Pac-Man, Final Fantasy, FIFA y Call of Duty utilizan el C++ para programar motores o alguna parte específica del juego.

Por otro lado, algunos juegos en dispositivos móviles como Android y iPhone también se diseñan utilizando el lenguaje C++, como Pokémon Go, Clash Royale y Among Us Brawl Starts.

Historia del lenguaje C++

El lenguaje C se descubrió en 1972 por  Deniss Ritchie  en los laboratorios Bell de AT&T y ha sido asociado con el sistema operativo UNIX, ya que su desarrollo fue en este sistema y debido a que tanto como UNIX como el propio compilador de C y casi en su totalidad de programas y herramientas de UNIX fueron escritos en C.

En 1980, se añadieron al lenguaje C características como “clases”, comprobación de los tipos de argumentos de una función y conversión, si es necesario, de los mismos, el resultado de esta modificación fue nominado C con clases.

Entre 1983 y 1984, C con clases fue de nuevo rediseñado, extendido y nuevamente implementado sus nuevas características fueron funciones virtuales, funciones y operadores sobrecargados. El resultado de este ajuste a C con clases fue denominado el lenguaje C + +.


Después de varios ajustes más, Bjarne Stroustrup, ingeniero de software en AT&T Bell Laboratories, lanzó C++ en 1985 y documentó su desarrollo en varios de sus libros.

El nombre C + + se debe a Rick Macitti, significando el carácter evolutivo de la transformación de C (“++” es el operador de incremento de C).

Después de esto, los desarrolladores han revisado y refinado C++, lo que ha dado lugar a nuevas características como herencia múltiple, tipos genéricos de datos, miembros protected, entre otros.

Bjarne Stroustrup

Características del C++

A partir de las diferentes modificaciones o cambios que se han realizado en el lenguaje C++ ha adquirido diferentes características para consolidarse como uno de los lenguajes más demandados y fáciles en cuanto a su aprendizaje como a su uso, las características que el C++ adquirió son:

  • Es un lenguaje híbrido 
  • Soporta la programación orientada a objetos 
  • Soporta la abstracción de datos 
  • Tiene en una integración completa y directa con el lenguaje del ensamblador 
  • Tiene uno de los lenguajes compilados más veloces que hay
  • Los videojuegos lo tomaron como lenguaje de programación  
  • Construyeron este lenguaje para ser mejor que C
  • Herencia múltiple 
  • Funciones múltiples miembro static y const

Ventajas y desventajas del C++

A partir de estas características le brindan al lenguaje C++ unas ventajas, pero también unas desventajas algunos ejemplos de estas son:

  1. Ventajas:
  • Como C + + es una versión extendida de C, que es un lenguaje de programación de bajo nivel, hace que C + + sea uno de los lenguajes de programación más rápidos.
  • C + + es uno de los lenguajes más cercanos al hardware. Esto es muy ventajoso en aquellos espacios donde el software deba tener una estrecha relación con el hardware para así realizar un soporte de bajo nivel.
  • C + + tiene una biblioteca estándar de plantillas que se pueden usar ampliamente cuando se esté codificando. Estas bibliotecas proporcionan logaritmos eficientes que hacen que el programador ahorre tiempo y esfuerzo.
  • C++ tiene unos siete estilos diferentes de codificación, lo que lo convierte en un lenguaje de programación de múltiples modelos 
  1. Desventajas: 
  •  El mal uso de los punteros puede hacer que el sistema se bloquee o que se comporte de forma anómala 
  • No es de las mejores opciones cuando se trata del área de desarrollo web ya que puede llegar a ser muy complejo en comparación con otros lenguajes
  • Al trabajar con compiladores, es necesario la traducción al lenguaje máquina y C++ no otorga los suficientes operadores para ayudar con las operaciones
  • Cometer errores críticos es fácil y depurarlos es complicado.

Sintaxis del lenguaje C++

  1. Biblioteca: Una biblioteca es un módulo (un fichero o conjunto de ficheros)

Una biblioteca estándar se utiliza para tener acceso a dispositivos de entrada y salida. 

La biblioteca estándar de C + + contiene una serie de utilidades de programación que están disponibles en cualquier distribución de C + +.

La primera línea contiene una directiva include. Esta directiva indica que se utilizará una función o código implementado en una biblioteca que contiene código que puede ser utilizado en programas. Este programa utiliza una biblioteca iostream, que define una serie de utilidades para la realización de operaciones de entrada y salida. Y por último el nombre de la biblioteca debe sustituirse entre los caracteres” <” y “>”.

EJEMPLO: #include <iostream>

  1. Espacio del nombre: Agrupará todo nuestro código bajo este espacio de nombre 

La segunda línea contiene la instrucción using namespace std. Su función es escribir de una forma abreviada el nombre de algunos objetos definidos en la biblioteca de C++. Si no se utiliza la instrucción using namespace std; entonces los nombres cout y endl, que aparecen con posterioridad en el código, deberán ser escritos como std :: cout y sted::

EJEMPLO: Using namespace std;

  1. Punto de inicio: Esta es una función esencial en C++, porque este será el punto de inicio de la aplicación.

En la tercera línea viene el programa principal o función main. Un programa en este lenguaje (C++) puede constar de una o varias funciones de código. La función main siempre debe estar definida y contiene las instrucciones que empieza a ejecutar el programa. El conjunto de instrucciones que contiene una función, también llamado cuerpo de la función debe encerrarse entre llaves “{}”

EJEMPLO: 4.int main ( ){ 

                   7. }

  1. Mostrar mensaje: 

La primera instrucción del cuerpo de main es la que envía el texto “Hola mundo” a la salida estándar. Esta instrucción al igual que todas en C++,debe terminar en punto y coma 

  • Cout: Instrucción para mostrar mensajes, tiene un “<<” y “>>” para mostrar el inicio y final.
  • “Hola mundo”:  Instrucción para mostrar el mensaje que se desea 
  • Endl:  Instrucción para indicar que hay se acaba la línea 

EJEMPLO: cout<< “Hola mundo”<<  endl;

  1. Verificación: La función return 0; termina la ejecución de main, devolviendo el valor 0.

 Para verificar si la ejecución fue exitosa se devuelve un 0 y si hay un error seria un 1  

Sintaxis c++

EJEMPLO: return 0;

  1. Nota: cuando escriba el programa en el editor hay que tener en cuenta que C + + es un lenguaje sensible a las mayúsculas. Esto quiere decir que se tiene en cuenta si una letra se escribe en mayúsculas o en minúsculas.

EJEMPLO: Escribió Main en vez de escribir main, entonces el programa no será correctamente sintácticamente.

Lenguaje C vs lenguaje C++:

C vs C++

C es un lenguaje de programación en el cual se desarrollan apps, sistemas operativos, entre otros.  C++ es un lenguaje que surge como una extensión de C, diseñado con el propósito de añadir mecanismos para la manipulación de objetos al lenguaje de programación C.

El lenguaje C++ al ser una extensión de C, hace que tengan similitudes en varias cosas, algunas de estas son:

  • C++ se basa en el lenguaje de C
  • C++ es compatible con C, lo que le permite a los programadores utilizar códigos C en programas C++
  • Ambos tienen una sintaxis similar 
  • La estructura de código en ambos es la misma 
  • Ambos lenguajes compilados y de bajo nivel, que proporcionan un control directo sobre el hardware directo del ordenador 
  • Su compilación es similar 
  • Comparten la misma sintaxis básica (todos los operadores y palabras clave)
  • La gramática básica es la misma 

Similitud entre C y C++:

Con ayuda de las similitudes que comparten C y C++, existen varias aplicaciones, páginas web y programas que se desarrollan a través de estos dos lenguajes, algunos de estos ejemplos son:

 Por otra parte, estos dos lenguajes a pesar de compartir varias similitudes por su origen también comparten varias diferencias, ejemplos de estas son:

  • C + + cuenta con una amplia variedad de librerías y herramientas disponibles que facilitan el desarrollo de aplicaciones complejas. Mientras que C tiene una librería estándar más limitada 
  • C++ permite a los programadores sobrecargar operadores como +, -,*,/, entre otros. Esto permite una mayor flexibilidad en la escritura. C, no tiene esta función 
  • A pesar de que C++ es compatible con el lenguaje de C, C no es compatible con algunas características de C++
  • El proceso de compilación de C + + es más complejo que el de C, ya que el compilador de C + + debe realizar tareas adicionales para admitir la programación orientada a objetos.

El futuro del lenguaje C++

La aparición y rediente difusión de Java a popularizado la opinión de que el C++ ha perdido fuerza o incluso que “ya no esta a la moda”, este criterio que tecnológicamente no debería tener ningún crédito, puesto que el ámbito de aplicación de los dos lenguajes es distinto, C++ es un lenguaje de propósito general y Java está más enfocado a ciertos tipos de aplicaciones. Además, Java al ser interpretado tiene un menor rendimiento que el C++, lo mismo ocurre con otras aplicaciones como C#. Ambos lenguajes (C# y Java) no resuelven una de las características del  C + +  y se trata de la legibilidad, ya que ambas siguen el mismo sintaxis en lo fundamental.

Aunque existen diferentes factores comerciales de las grandes multinacionales informáticas que muchas veces predominan sobre factores estrictamente tecnológicos y que podrían hacer cambiar la situación a medio y largo plazo, el uso del C++, a principios del siglo XXI, sigue creciendo a buen ritmo debido a tres causas:

  1. La gran cantidad de código ya usado 
  2. El creciente grado de informatización 
  3. Las propias capacidades del lenguaje, todavía no igualadas por otro lenguaje 

Créditos:

Autor: Daniel David Galván Penagos

Editor: Carlos Iván Pinzón Romero y Juan Diego Garrido Riaño

Código: UCPAG3-1

Universidad: Universidad Central

Fuentes:

Checa. A. (2019). Que es C++ : características y aplicaciones. Openwebinars. 
Qué es C++: Características y aplicaciones | OpenWebinars
Rivas. A (26/03/2022) Ventajas Y Desventajas C++. Muy tecnológicos. https://muytecnologicos.com/diccionario-tecnologico/ventajas-y-desventajas-de-c-mas-mas
Ceballos. J (2019) C/C++ curso de programación (5ª edición). Rama editorial
Ceballos. J (2007) Programación orientada a objetos con C++ (4ª edición). Rama editorial 
Ceballos. J (2018) Programación orientada a objetos con C++ (5ª edición) Rama editorial 
Programador JS (22 de junio 2022) Diferencia entre c y c++. Youtbe. https://www.youtube.com/watch?v=IG_xyr61pS8
Martínez. F. Fundamentos básicos de programación en C++ 
Hernández. E.  Hernández. J. Lizandra. C (2001) C++ Estándar. Paraninfo S.A
Corvo. H (31 de marzo 2020) C++:historia, características, tipos de datos, ejemplos. Lifeder. C++: historia, características, tipos de datos, ejemplos (lifeder.com)
Si Compila. (21 de mayo 2021). Qué es C++|Curso C++ fácil y rápido. . Youtube. https://youtu.be/CkUSy-REkUM?feature=shared
Antonio Checa (2019) Que es C++: características y aplicaciones [imagen] Openwebinars (Qué es C++: Características y aplicaciones | OpenWebinars)
IIES (2019) The Great Debate: C vs. C++ - Which Language Is Right for You?  (The Great Debate: C vs. C++ Which Language Is Right for You? (iies.in)
Gianmarco Tantaruna,  (29, Julio,2014) Programacion para principiantes((C++ – 2) Mensajes por consola en C++ – :: Programación para principiantes :: (wordpress.com)
Marcos Merino (22/03/2023) Qué fue de Bjarne Stroustrup, el creador de lenguaje c++, GENBETA,(https://www.genbeta.com/a-fondo/que-fue-bjarne-stroustrup-creador-lenguaje-c-que-esta-convencido-que-software-moririamos-hambre)