jueves, 2 de febrero de 2012

Comenzando con C


Hoy vamos a meternos un poco con el lenguaje C. Ésta entrada tratará de explicar brevemente como funciona éste lenguaje, y nos dará las claves necesarias para empezar a hacer nuestros programillas.
Si te interesan los artículos de PICs colgados anteriormente en Wirelearn, pero el C no acaba de entrarte por los ojos, presta atención a ésta explicación pues te será de gran ayuda.

Comencemos.

A lo largo de mis ya 4 años de estudios de informática, y otros 5 más al menos por mi cuenta, he visto muchas y diferentes maneras de tratar de enseñar un lenguaje. A mi entender, todas son buenas respecto a la intención, pero la mayoría fallan en cuanto a resultados.

Lo primero que debemos preguntarnos es ¿qué necesitamos? Hay quien opina que los Entornos de Desarrollo Integrado (EDI o en inglés IDE) son para tontos y gente que no sabe utilizar un PC. Nada más lejos de la realidad. Podría enseñaros a compilar en consola mediante la orden gcc (linux) por ejemplo, pero perdería el tiempo. Señores, dinosaurios del cretácico y seres del caldo primigenio, estamos en el siglo XXI. La consola es extremadamente útil, pero no para programar, y mucho menos para comenzar a hacerlo.

Visto ésto os recomiendo utilizar el entorno DEV C++. Libre e intuitivo.
Descárgatelo desde aquí, o busca el que más te guste por la red.

Dejemos claros unos cuantos conceptos antes de ponernos a programar como si no hubiese mañana:

    • C es un lenguaje COMPILADO: El procesador no entiende el lenguaje C. Solo entiende
      bloques de unos/ceros. Por lo que para probar nuestro programa, deberemos compilarlo antes. Ésto es, traducirlo a lenguaje máquina (entre otras cosas), y de ésto se encargará el compilador, que instalaremos con el IDE que os comenté hace unas líneas.

    • Acerca de ser un lenguaje compilado, hay un matiz muy importante. Cuando compilamos un programa, lo traducimos al lenguaje de nuestro procesador. Desgraciadamente, no hay un estándar global en cuanto a lenguaje de procesadores, y muy probablemente, si quereis portar vuestro programa a otra máquina, tengais que compilar los fuentes en ella o buscar otras alternativas. Éste es el principal motivo que hizo tan famoso a Java (compilado e interpretado) y que dió lugar a los demás lenguajes interpretados. Pero ahí entraremos en otro momento.

    • Es un lenguaje CASE SENSITIVE: Distingue mayúsculas y minúsculas, por lo que no
      es lo mismo miVariable que mivariable ni NombreUsuario que nombreUsuario.

    • Éste punto es de mi cosecha. Las llaves que vais a ver más adelante“{}”, no se ponen por casualidad. C a mi entender es un lenguaje muy duro en cuanto a la sintaxis. Hay que acostumbrarse a normas como que todas las instrucciones terminan en punto y coma, hay que respetar correctamente las llaves, etc.

    • Es un lenguaje, en definitiva, de alto rendimiento, porque los programas ya están en lenguaje máquina a la hora de ser ejecutados, pero da lugar a programas de baja portabilidad como resultado de ser compilado.

Ahora voy a hacer un pequeño comentario acerca de los tipos de ficheros con los que vais a tratar a la hora de progamar en C. Principalmente cabe destacar dos:

    • Ficheros de código ó ficheros .c: Aquí estará el codigo principal de vuestros programas. Código que será exclusivo para ellos y que no pretendéis reutilizar.

    • Ficheros de cabecera o ficheros .h: Contienen funciones y procedimientos construidos y listos para ser utilizados, tales como leer pulsaciones de teclado, imprimir por pantalla, o comparar dos cadenas. Si en algún caso observáis que aparece con frecuencia una misma función en vuestros programas, podríais plantearos crear una librería y meter dentro vuestra función, de manera que no tendríais que volver a escribirla. Bastaría con introducir al principio de vuestros .c una directiva #include “Ruta/nombreLibrería.h” y estaría lista para ser utilizada.

Una vez expuesto lo más básico acerca del lenguaje C, os recomiendo encarecidamente que le echéis un vistazo a éste pdf, que no es obra mía como podréis observar en la cabeza de cada página. Explica conceptos necesarios como tipos de dato, declaración de variables, y habla un poco de las librerías estándar que más adelante utilizaréis en casi todos vuestros programas. También podéis echar un vistazo a la página c.conclase.net, donde explican a fondo todos los conceptos que veremos aquí, pero con una perspectiva bastante más técnica.

En posteriores entradas veremos cómo crear un programa con DEV C++ e intriduciremos conceptos como función, parámetro, valor, referencia, etc.

No te lo pierdas!

Un saludo, Marcos R.


No hay comentarios:

Publicar un comentario