Pages - Menu

martes, 23 de abril de 2013

Curso básico de C 1/10: Introducción e instalación de IDE

Arrancamos con el primer curso después de dos semanas de posts llenos de planteamientos, conceptos y aclaraciones básicas, las cuales nos han servido como escueta introducción a las ideas básicas de programación.


Programación en C
Foto tomada de freedigitalphotos.net
Ahora vamos a comenzar con el que sería el primer curso de éste blog, como no puede ser de otra forma el lenguaje básico que utilizaremos para aprender a programar va a ser el lenguaje de programación C. Considero esencial su aprendizaje para dominar el resto de lenguajes, tanto si queremos dedicarnos al desarrollo de videojuegos como si no.

Curso de C

1. Introducción a C

C ofrece infinidad de posibilidades de cara al programador, cuenta con características que hacen posible la programación a bajo, medio y alto nivel, es un lenguaje de programación compilado y fuertemente tipado, que brinda además la posibilidad de acceso a memoria, periféricos y demás características de bajo nivel.

La versatilidad del lenguaje C ha hecho posible que con el tiempo se establezcan numerosas variantes para actualizar éste lenguaje a nuevos paradigmas de programación y nuevas plataformas de desarrollo. C++ y Objetive C son dos ejemplos claros de variantes aunque también existen otros lenguajes de programación cuya sintaxis es similar a C como es el caso de C#, JavaScript o Java. Todos nos servirán para programar videojuegos, pero que esto no asuste a nadie, en éste primer curso vamos a tratar los aspectos básicos de C con el objetivo de tener una buena base de cara a futuros lenguajes.

Historia

C surge entre los años 1969 y 1973 de la mano de Dennis Ritchie en los Laboratorios Bell de AT&T, el lenguaje de programación toma el nombre de C debido a que muchas de sus características se tomaron de otro lenguaje anterior llamado B.

Una de las teorías del origen de C surgió de una necesidad de los propios ingenieros de poder rescribir el sistema operativo Unix, otra era la de utilizar un ordenador para poder jugar al videojuego Space Travel pero sus ordenadores no eran lo suficientemente potentes así que decidieron llevarse el juego a un PDP-7 de la oficina, pero éste no poseía sistema operativo, por lo que decidieron escribir uno de alto nivel y portátil debido a que hasta entonces sólo se escribía en ensamblador. No está claro cual de éstas teorías es cierta, lo que sí está claro es que gracias a los conocimientos y curiosidad de varios de estos ingenieros se pudo crear el lenguaje C y rescribir el código del kernel de Unix.

Características de C.

Como hemos definido ya, C es un lenguaje de programación compilado, de medio nivel con características de bajo y alto nivel, fuertemente tipado y con posibilidad de acceso a las características de la máquina en bajo nivel.

Posee un lenguaje simple, alimentado con bibliotecas que le proporcionan funciones para el cálculo matemático o la gestión de ficheros, periféricos, impresión en pantalla, etc.

C es un lenguaje flexible, aunque está amparado por el paradigma de programación estructurada es posible programar de diversas formas.

C posee palabras claves, acceso a memoria, procedimientos, funciones, paso de parámetros por valor y referencia, estructuras estáticas y dinámicas.

C provee un acceso a la memoria a bajo nivel de una forma completamente libre, tanto es así que no posee lo que se llama un recolector de basura propiamente dicho, por lo que tendremos que usar un recolector de basura nativo. Con el tiempo ciertas empresas han desarrollado librerías que evitan ésta tarea.

C no posee soporte para la programación orientada a objetos, no obstante sus futuras variantes sí.

C es multiplataforma, portable a cualquier sistema, a día de hoy existen compiladores para cada uno de ellos.

C posee la desventaja de que su desarrollo es más lento de lo normal debido a la carga de trabajo que debe asumir el programador, hoy en día los lenguajes de programación traen incorporados en su núcleo procesos como el de la recolección de basura, que resta trabajo al programador pero consume más memoria del computador. Por otro lado es necesario e inmediato el establecimiento de un estándar para la escritura de un programa en C, ya que debido a su completa libertad es posible que se lleguen a crear programas ilegibles y dificultosos de comprender por otros programadores, esto es importante de cara al mantenimiento posterior de un programa (los comentarios y la correcta indentación son absolutamente necesarias).

IDE

Para poder programar en C es necesario que utilicemos alguna herramienta que se encargue del proceso de compilación y enlazado, además de usar funcionalidades que nos faciliten la depuración y búsqueda entre otras cosas.

Las siglas IDE vienen de la definición inglesa Integrated Development Environment, cuya traducción sería Entorno de Desarrollo Integrado. Un IDE es un programa informático dedicado en exclusiva a la programación en uno o varios lenguajes a la vez.

Un IDE está compuesto de varias herramientas enfocadas a la programación así como de una interfaz limpia y perfectamente amigable a los lenguajes de programación.

Las herramientas esenciales de un IDE son:
  • Un Compilador.
  • Un Intérprete.
  • Un Depurador.
  • Un Cliente.
  • Un Editor de Texto para escribir el código.

Las versiones más modernas y actuales de los IDE poseen también utilidades para el control de versiones del código fuente o la posiblidad de programar con entornos gráficos.

Para éste curso y posteriores utilizaremos el IDE Dev C++.

Dev C++

Dev C++ es un IDE usado para programar en C y en C++, desarrollado en el lenguaje Delphi y completamente gratuito. En la actualidad cuenta con multitud de librerías y paquetes preparados y de código abierto para poder facilitar la tarea de los programadores.

Dev C++ funciona bajo Windows y su código fuente está liberado bajo la licencia GNU GPLv2.

Para los usuarios de GNU/Linux existen también multitud de herramientas para programar en C como Anjuta o Eclipse para C/C++.

Para los usuarios de Mac se puede instalar Xcode y o bien usar éste o bien cualquier editor de texto y compilar los programas de forma manual.

Cabe destacar que casi todos los IDE que he mencionado usan el compilador GCC (GNU Compiler Collection) o alguna de sus variantes, como el caso de Dev C++ que usa MinGW (Minimalist GNU for Windows) una implementación del compilador GCC para las plataformas Win32.

Instalación Dev C++

Para instalar Dev C++ debemos dirigirnos a su web y buscar el enlace a la última versión, es importante clicar en el enlace que contenga el IDE y el compilador MinGW, en el momento de éste tutorial la última versión es la 5 y se encuentra en fase Beta, el enlace es el siguiente.

Una vez hayamos descargado el archivo .exe procedemos a ejecutarlo.

Lo primero que nos aparecerá será una ventana avisando de que estamos a punto de instalar una versión beta y que no la instalemos encima de una instalación anterior, pulsamos "Aceptar".


La siguiente ventana es la de selección del lenguaje de instalación, seleccionamos "Español" y pulsamos "Ok".


Leemos el Acuerdo de Licencia y pulsamos "Acepto".


En la parte "Seleccione el tipo de instalación" seleccionamos "Full".


Elegimos el directorio de instalación y pulsamos el botón "Instalar".


Esperamos que se terminen de instalar todos los archivos.


Una vez termine la instalación, marcamos la casilla para ejecutar el programa y pulsamos "Terminar". Dev C++ comenzará a abrirse y deberemos configurar algunos parámetros más.


Lo primero que aparece es una nueva ventana de aviso donde advierte que estamos configurando un programa en fase de beta.


Lo primero a elegir es el lenguaje del programa, seleccionamos Español y pulsamos en "Next".


Lo siguiente que nos pregunta el asistente es si deseamos que el programa muestre la sintaxis de lo que escribimos, bastante útil, marcamos "Yes" y pulsamos "Next".


Lo siguiente que configuramos es si el programa pueda o no completarnos el código que escribamos, muy útil también para aprender. Marcamos "Yes" y "Next".


Esperamos que se termine de configurar todo.


Una vez terminado de configurar pulsamos "Ok", Dev C++ está configurado por completo.


Primer programa en C

Ya hemos terminado de instalar y configurar Dev C++, nuestro IDE está preparado para poder trabajar.

Creamos un nuevo proyecto pulsando en el botón “Proyecto” y acto seguido seleccionamos “Console Aplication”, nombramos al proyecto “HolaMundo”, marcamos la opción “C” y pulsamos el botón “Aceptar”.


Se abrirá una ventana para guardar el proyecto, seleccione el directorio que quiera (puede crearse una carpeta de proyectos en su escritorio y ahí guardarlo todo).


Veremos una ventana como la siguiente:



Vamos a escribir las siguientes líneas de código para comprobar que el IDE funciona correctamente.

#include <stdio.h>
#include <stdlib.h>

int main(){
  printf("Hola Mundo");
  getchar();
  return 0;
}


Pulsamos el botón F9 para compilar y ejecutar el programa, nos aparecerá otra ventana donde queremos alojar los ficheros compilados y el ejecutable, podemos seleccionar la que queramos (al igual que antes, podemos hacernos un directorio personal donde alojar todos estos ficheros, o bien podemos ubicarlos en el mismo de antes).

 

Aparecerá una ventana de MS-DOS mostrando la frase “Hola Mundo”.




Pulsamos cualquier tecla para cerrar la ventana.

Con esto hemos terminado la primera parte del Curso Básico de C, en éste post hemos aprendido un poco de la historia de C, su creador y propósito, sus características, ventajas y desventajas, algunas de sus variantes.

También hemos visto algunos de los IDEs más comunes para las plataformas Windows, Linux y Mac. Hemos instalado el IDE Dev C++ para Windows y hemos creado nuestro primer programa.

En la siguiente parte del curso comenzaremos a entrar poco a poco en la estructura básica de un programa creado en C, veremos todo lo referente a variables y constantes así el uso de comentarios dentro de un programa.

¿Qué os parece ésta primera parte del curso?