Iniciando en C++: Bases para el Desarrollo en C++

En este post vamos a estudiar el ciclo de vida de un programa – ya sea una aplicación convencional o un juego – en C++, vamos a explorar los diferentes elementos a considerar cuando escogemos desarrollar en C++ y algunas de las diferentes plataformas para desarrollar con el.

Entendiendo el Estándar C++

El Estándar ISO para C++ es LA definición de C++, esta describe exactamente como el lenguaje debería trabajar; también define un grupo de archivos que reciben el nombre de librería estándar; esta librería, contiene las piezas fundamentales para las tareas de programación comunes como por ejemplo obtener valores de entrada y mostrar valores de salida – a esto se le conoce como operaciones I/O. La librería estándar facilita la vida de los programadores ya que provee código fundamental que nos evita tener que volver a implementar las mismas funciones una y otra vez. En este tutorial utilizaremos la librería estándar extensivamente.

El estándar ISO es también llamado el estándar ANSI o ANSI/ISO. Estos nombres involucran las siglas de los diferentes comités que han realizado la revisión y establecieron el estándar La manera mas simple de referirse al código C++ que se adecua al estándar ISO es simplemente Estándar C++.

Programas en C++

Lo primero que debemos saber es que en C++ todos los programas que desarrollamos se corren (o ejecutan) utilizando un archivo ejecutable; existen diferentes pasos para llegar a la creación de un ejecutable desde el código fuente C++ (una colección de instrucciones en el lenguaje)

  1. Primero, el programador utiliza un editor para escribir el código fuente C++, este código se almacena en lo que se conoce como un archivo de fuente; comúnmente, estos archivos utilizan la extensión “.cpp” para ilustrar al sistema operativo y a otros programas que su contenido es código C++. El editor no es mas que un programa procesador de palabras que permite crear, editar y guardar código fuente (aunque en la mayoría de los casos cuenta con funciones mas avanzadas*).

  2. Luego que el programador crea un archivo de fuente, utiliza una aplicación que se conoce como compilador C++ para que lea el código fuente y lo traduzca en lo que se conoce como un archivo objeto; estos archivos objeto comúnmente se crean con la extensión “.obj”. Es aquí donde ocurre la interpretación del código que creamos al codigo que entiende el computador, es por esto que mas adelante haremos un estudio mas profundo sobre los diferentes compiladores y algunas de sus diferencias.

  3. Como siguiente paso se involucra un programa llamado vinculador, el cual asocia los archivos objeto con cualquier archivo externo que necesiten utilizar para la creación del archivo ejecutable. Como ultimo detalle debemos tomar en cuenta que si trabajamos en la plataforma Windows (o los descendientes de DOS) encontraremos que los archivos ejecutables tienen la extensión “.exe”.

*: Hay editores que realizan separación del código con colores o inclusive auto-completan las instrucciones conforme las vamos escribiendo, a esto se le conoce como Intellisense.

La siguiente figura ilustra mejor este proceso

Creacion Ejecutable C++

Creación Ejecutable C++


Nota: Normalmente, no se crean programas en solitario, existen diversos archivos cpp que crean una cantidad de archivos obj o hacen uso de otros archivos que ya fueron compilados y a la final se condensan en un ejecutable o librería (de las cuales hablaremos mas adelante).


Si bien es posible realizar todo este proceso por separado, e inclusive existen lugares donde se enseña C++ escribiendo el código en Notepad, Vim o cualquier otro editor de texto, para luego ejecutar los compiladores y vinculadores por separado, esta no es la practica común en ambientes profesionales. Para esto, existen entornos de desarrollo donde podemos utilizar las diferentes herramientas de forma entrelazada, estas se conocen como Entornos de Desarrollo Integrado o IDEs por sus siglas en ingles.

Sobre los Entornos de Desarrollo

Aunque existe una gran cantidad de IDEs y el estándar para la enseñanza del lenguaje C++ en los salones de clase (que yo he visto) es Turbo C++ de Borland, nosotros utilizaremos para este tutorial Microsoft’s Visual C++ el cual forma parte del entorno Microsoft Visual Studio y esta disponible en las versiones Express y Community Edition del mismo que están disponible de forma gratuita. Si tu computadora lo soporta recomiendo utilizar Microsoft Visual Studio Community Edition 2013, igualmente puedes utilizar Microsoft Visual Studio Express si tu computador no es tan potente.

Si eres un poco curioso te preguntaras cual es la diferencia entre los diferentes IDEs y porque solo garantizo al 100% que los códigos correrán en estos que te estoy recomendando? pues la diferencia radica principalmente en los compiladores. Microsoft implementa su propia versión del compilador C++ (que es bastante confiable) y que se rige de forma rigurosa por el estándar ISO.

Hay otros IDEs que utilizan otros compiladores como por ejemplo Codeblocks (también es muy bueno) que permite trabajar con diferentes compiladores como por ejemplo GCC, el cual es el compilador mas utilizado en el entorno GNU/Linux. Desafortunadamente, como el tiempo es limitado me limitare a utilizar solamente Visual C++ para ejecutar los ejercicios, pero si te entusiasma la idea puedes probar con otros compiladores o IDEs para probar el desempeño del código.


Nota: Mas adelante haré un post un poco mas avanzado hablando sobre las diferencias de bajo nivel entre compiladores y plataformas de desarrollo.


Con esto cerramos por ahora, en el próximo post empezaremos a estudiar la sintaxis de C++ y crearemos nuestros primeros programas en este lenguaje.

Espero que hayas disfrutado este contenido y cualquier comentario (positivo o negativo) es bienvenido.

Hasta la próxima.

Anuncios
Esta entrada fue publicada en C++ y etiquetada , , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s