Archivo de la etiqueta: C++

¿Por que aprender C++?

Si están pensando en aprender a programar en C++,  te contamos los motivos por los que aprender C++ como lenguaje de programación. En este artículo vemos las ventajas y desventajas de este lenguaje tan versatil y comparaciones con otros lenguajes.

Ventajas de C++

Las ventajas que tiene C++ sobre otros lenguajes de programación son las siguientes:

  • Tiene un alto rendimiento.
  • Es un lenguaje que se está actualizando, y, por lo tanto, a pesar de tener más de 20 años es moderno.
  • Es multiplataforma.

Lenguaje de alto rendimiento

C++ tiene un alto rendimiento por varios motivos:

  • Permite hacer llamadas directamente al Sistema Operativo.
  • Es un lenguaje compilado para cada plataforma.
  • Tiene muchísimos parámetros de optimización.
  • Tiene un acceso directo a la memoria, que además controla el usuario.
  • Tiene una integración directa con el lenguaje ensamblador, tan directa que incluso permite escribir directamente en ensamblador con las diferentes directivas.

Lenguaje moderno y actualizado

C++ nos permite, entre otras muchas cosas:

  • Crear datos complejos.
  • Definir operaciones sobre los datos complejos.
  • Relacionar los datos complejos entre ellos.
  • Realizar programación genérica y templates, que es hacer una clase del mismo código que sirva para cualquier tipo que pase.
  • Implementar múltiples patrones de diseño

Comparativa con otros lenguajes

Podemos realizar una comparativa de C++ con otros conocidos lenguajes de programacion.

Imagen 0 en Por qué aprender a programar C++
  • Se considera a C++ como un superset de C. De hecho, cuando Bjarne Stroustrup lo creó, comenzó a llamarlo “C con clases”, porque permitía hacer un paradigma de orientación a objetos, a diferencia de C, que no permite objetos.
  • Java y C# tienen una sintaxis muy parecida a C++, porque se quisieron basar en ella para que a los programadores no les costara mucho esfuerzo cambiarse de uno a otro. Funcionan sobre una máquina virtual, con los problemas de eficiencia que eso conlleva, pero también teniendo la ventaja de que no tienen hay que compilar el lenguaje para cada para cada sistema operativo, sino que funciona todo en su máquina virtual.
  • Rust es un lenguaje muy moderno que está surgiendo con fuerza y que está generando grandes expectativas, ya que tiene muchas cosas de programación funcional, al igual que C++, que con el nuevo estándar se está actualizando cada 3 años, y permite hacer programación funcional.
  • Haskell permite una mayor programación funcional que C++, ya que es un lenguaje de programación pura.
  • Scripting es un lenguaje interpretado, parecido a Java y C#, pero que no funciona sobre una máquina virtual sino sobre un proceso.
  • Ensamblador es un lenguaje muy difícil de controlar, muy difícil de programar, muy largo y tedioso, que para ello salieron los lenguajes de alto nivel.

Desventajas de C++

El uso de C++ tiene un coste:

  • Tiene que tener una compilación por plataforma.
  • Es un lenguaje muy amplio, ya que tiene muchos años y muchas líneas de código.
  • Su depuración es bastante complicada, debido a los errores que aparecen.

Resumen

A pesar de las desventajas, C++ es tan interesante porque permite programar en lenguaje de alto nivel, y en caso de necesitarlo, permite bajar incluso a lenguaje ensamblador.

Es decir, es un lenguaje que permite tanto alto, como bajo nivel de programación, para optimizar nuestro programa.

Hola mundo en Linux con g++

Programando c/c++ en Linux

Primero que nada nos vamos a ir a la terminal de Linux, para hacer esto podemos ingresar mediante Alt+Ctrl+T. Una vez dentro la forma más básica de comenzar a programar c/c++ es hacerlo mediante terminal. Esto principlamente por que aislamos todos los parámetros que se necesitan para programar, en otros programas donde se usa IDE o Compiadores extras se pierde un poco de información y la noción de lo que se esta haceindo pierde un poco de esencia.

Terminal en Lubuntu

Terminal de Linux

Vamos a comenzar con abrir la terminal y posicionarnos en la carpeta de trabajo, en este caso podemos crear una carpeta en el escritorio.


$ mkdir Desktop/Ejemplos

En la carpeta vamos a crear otra carpeta para el primer ejemplo


$ cd Desktop/Ejemplos
$ mkdir EJ01

Posteriormente vamos a crear un nuevo archivo de texto para poder comenzar a programar, este lo vamos a crear con extensión cpp. Vamos a utilizar el editor nano de la terminal.


$ nano ejemplo01.cpp

Aparecerá posteriormente un editor de texto en la terminal que nos servirá para escribir nuestro programa.

Primer ejemplo en c/c++

Vamos a comenzar a escribir un programa en lenguaje c/c++ lo más básico seria escribir Hola Mundo en la terminal, para esto vamos a ver qué es lo que necesitamos.

Primero que nada vamos a llamar la biblioteca principal iostream (cubriremos más información de esta biblioteca más adelante). Posteriormente creamos la función main. Por lo que el cuerpo principal del programa nos quedaría como sigue:


#include<iostream>
int main (void){
}

Ahora, para poder imprimir información necesitamos mandar llamar la instrucción para imprimir en terminal “cout”, la misma instrucción requiere un espacio de nombres (mas adelante veremos el espacio de nombres mas a detalle), en este caso el espacio de nombres seria “std” por lo que necesitamos poner la siguiente instrucción.


using namespace std;

Por ultimo mandamos llamar (ahora que tenemos el espacio de nombres adecuado) la instrucción “cout”.


cout << “Hola Mundo HeTPro” << endl;

El programa nos quedaría de la siguiente manera:


#include<iostream>
using namespace std;
int main (void){
cout << “Hola Mundo HeTpro” << endl;
return 0;
}

Ahora podemos guarder el codigo con Ctrl+x y seleccionando que si se quieren guardar cambios.

Compilar con g++  en c/c++ y ejecutar el codigo

Una vez de regreso en la terminal y lo que procede a continuación es compliar el código. Para poder compilar el código vamos a utilizar g++ que es el compilador libre por defecto de Linux, para este caso vamos a utilizar la siguiente instrucción:


g++ -Wall –o <Nombre_del_ejecutable> <nombre_del_archivo_a_compilar>

En donde g++ es como ya se había mencionado anteriormente, el compilador, -Wall activa las banderas para visualizar warnings o errores –o es para generar el objeto, <nombre del ejecutable> es el archivo que se va a generar y <nombre del archivo a compilar> es el archivo que acabamos de escribir, por lo que en este caso nos quedaría como se muestra a continuación


g++ -Wall –o Ejemplo ejemplo01.cpp

Si nos marca algún error o warning tendríamos que revisar y buscar que esta generando el error, aunque si el código se escribió correctamente no debería de mostrar nada. Si la compilación se realiza de manera exitosa podemos ver con el comando “ls” en terminal que se ah generado un nuevo archivo que se llama “Ejemplo”. Para poder correr el archivo “Ejemplo” en nuestra terminal escribimos en la misma:


$ ./Ejemplo