sábado, 20 de abril de 2013

Aprende C++: Introducción al proceso de desarrollo

Antes de que podamos escribir y ejecutar nuestro primer programa, necesitamos entender en mayor detalle como se desarrollan los programas, que lo haremos siguiendo los pasos a continuación:

Paso 1: Define el problema que quieras resolver.

Este es el "Qué", donde tendrás que analizar qué problema quieres resolver. Esta idea tan esencial de qué quieres programar podría ser la más fácil o la más difícil, pero, conceptualmente, es la más simple. Todo lo que necesitas es una idea que esté bien definida y estarás listo para el siguiente paso.

Paso 2: Determina cómo vas a resolver el problema.

Este es el "Cómo", donde deberás determinar cómo vas a resolver el problema que definiste en el paso 1. También es el paso más descuidado en el desarrollo de software. La cuestión es que hay mil y una maneras de resolver un problema (aunque algunas de estas soluciones son buenas y otras son muy malas). Muchas veces, un programador cogería una idea, se sentaría e inmediatamente empezar a programar la solución. Generalmente esto genera una solución que cae en la categoría de "Malas".

Típicamente, las buenas soluciones tienen las siguientes características:
  • Son sencillas
  • Están bien documentadas
  • Son fácilmente extensibles (añadir funciones que no estaban previstas)
  • Están modularizadas
El mayor problema está con la tercera y cuarta característica, mientras es posible generar programas que son sencillos y bien documentados sin estar muy planificado, diseñar software que es extensible y suficientemente modularizado puede ser un desafío mucho más duro.

 Cuando te sientas y comienzas a escribir el código, normalmente estás pensando "Quiero hacer esto", y nunca consideras que quizá mañana quieras hacer "aquello". Estudios han revelado que el 20% del tiempo de un programador, lo gasta escribiendo el código inicial, mientras que el resto lo gasta en reparar errores y añadir nuevas funciones, así que vale la pena invertir un poco más de tiempo pensando en la mejor manera en la que puedas resolver el problema y planear para el futuro con el objetivo de ahorrar tiempo con dolores de cabeza al intentar añadir nuevas funciones a tu programa.

La modularización ayuda a mantener tu código entendible y reusable. Código que no es modularizado apropiadamente es mucho más difícil de reparar errores y mantener, y también más difícil de extender luego. Hablaremos más de esto en el futuro.

Paso 3: escribir el programa.

Para escribir un programa necesitamos dos cosas: primero, saber un lenguaje de programación (¡para eso está este tutorial!) segundo, necesitamos un editor. Es posible escribir un programa con el editor que quieras, ya sea Windows Notepad o el gedit de Linux, aunque, te recomiendo bastante el uso de un editor que esté diseñado para la programación.

Un editor típico para programación tiene una serie de funciones que la hace mucho más sencilla:
  • Numeración de las líneas. Es bastante útil cuando el compilador nos avisa de un error. Un mensaje de error típico sería algo como "error, línea 64". Sin numerar las líneas, sería muy pesado encontrar la línea 64.
  • Coloreado de la sintaxis. Esto cambia el color de varias partes de tu programa para que sea mucho más fácil, con un golpe de vista, ver toda la estructura de tu programa.
  • Una fuente apropiada. Las fuentes que no son diseñadas para programación tienen el problema de que puedes confundirte con el 0 y la O por ejemplo, o 1 y l.
Tus programas de C++ debería ser llamados nombre.cpp, donde "nombre" es el nombre de tu programa. La extensión .cpp indica al compilador (y a ti) de que es un código fuente de C++. Algunas personas utilizan la extensión .cc, pero te recomiendo la de .cpp

Date cuenta de que los programas complejos de C++ utilizan muchos archivos .cpp. Los primeros programas que desarrolles solo contarán con un archivo.cpp, pero ten en cuenta de que podrían tener docenas o cientos de ellos.

Paso 4: compilar.

Para compilar un programa, necesitamos un compilador. El trabajo del compilador se resume en:
  • Analizar nuestro programa y comprobar que sigue las reglas de sintaxis para el lenguaje de C++
  • Usar el código fuente como input y producir un archivo object como output. Los archivos object normalmente son nombrados nombre.o o nombre.obj. Si tu programa tiene 5 archivos .cpp, el compilador creará 5 archivos .o
Paso 5: enlazar (linking).

Enlazar es el proceso de coger todos los archivos .o de un programa y combinarlos en un único ejecutable.

Además de los archivos objeto, el enlazador incluye archivos de bibliotecas. El lenguaje C++ en sí mismo es muy simple y pequeño, aunque viene con una larga lista de bibliotecas con componentes opcionales que usarás en tus programas.

Una vez el enlazador haya terminado enlazando todos los archivos, obtendrás un archivo ejecutable .exe, por ejemplo.

Paso 6: examinar y reparar errores.

¡Esta es la parte más divertida (espero)! Ahora ya puedes ejecutar tu programa y ver qué ocurre, si produce un resultado no deseado, entonces es el momento de reparar errores. Discutiremos sobre este tema más adelante.

Date cuenta de que los pasos 3, 4, 5 y 6 envuelven software. Mientras que puedes usar programas separados para cada uno de estos procesos, hay un pack conocido como Entorno Integrado de Desarrollo (IDE, por sus siglas en Inglés) que contiene todas estas funciones anteriormente mencionadas y muchas más, para facilitar tu trabajo. Te enseñaré cómo funcionan y cómo instalarlos en el próximo post.

Entrada anterior (Introducción a C++)

No hay comentarios:

Publicar un comentario