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.
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
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”.
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?