jueves, 2 de enero de 2014

Java Nº01. - Empezando a Programar - Conceptos Básicos

TUTORIAL DE PROGRAMACIÓN
--

This could be you ;)


Voy a intentar hacer una pequeña guía-tutorial para echarle una mano a aquellos que estén interesados en aprender un poco de programación.
Ahora mismo no sé hasta dónde llegaré con esto ni por qué lenguaje me decantaré (seguramente C++, Java o Python), pero sea cual sea el que quieran aprender siempre es recomendable empezar viendo un poco de PseudoCodigo antes de salir de la trinchera.

Primero vamos a aclarar un poco en que consiste esto de la programación. Si me leen mis profesores es posible que me den con un libro en la sien, pero aquí lo que prima es que aprendáis a  programar de modo que que me tomare algunas licencias a la hora de explicar algunos conceptos. Si queréis aprenderlo todo técnicamente hay multitud de bibliografía que os lo permitirá.

Programar consiste en dar con un algoritmo que haga algo que nos interese y escribirlo en un lenguaje que podamos traducir para que una maquina lo entienda. 
Ala, ahi está no fue tan complicado... un momento ¿qué @#!!a# es un algoritmo?


-Algoritmo -> Un algoritmo consiste en una serie de pasos que se siguen en un orden concreto y producen un resultado.

Ejemplos (Huevo Frito y Tortilla de Patatas):

Algoritmo del Huevo Frito:
1Se pone una sartén al fuego
2Se calienta aceite
3Se rompe un huevo
4Se pone el huevo en el aceite
5Se retira el huevo antes de que se queme

Este es un algoritmo secuencial, es decir, se procesa el paso 1, se termina y se pasa al 2, de ahí al 3, al 4 y al 5 hasta que se acaba el proceso.

Modifiquemos la receta y añadamos algo de complejidad.

Algoritmo de la Tortilla de Patatas:
1Preparamos cuatro patatas medianas
2Preparamos una cebolla de tamaño medio
3Pelamos las patatas
4Pelamos la cebolla
5Las patatas las troceamos en cachos muy finos y pequeños
6Repetimos el proceso con la cebolla al gusto de los comensales
7Juntamos la patata y la cebolla en un bol de grandes dimensiones. Removemos el conjunto
8Preparamos la sartén adecuada
9Vertemos una generosa cantidad de aceite
10Calentamos la sartén a fuego medio y esperamos a que coja la temperatura adecuada
11Vertemos el contenido del bol a la sartén
12Remover cada tres minutos hasta que la patata esté blanda
13Extraer el contenido de la sartén a un bol de grandes dimensiones intentando mover la menor cantidad de aceite posible
14Preparar cuatro huevos. Cascarlos y verter su contenido en otro bol. Batirlo hasta que quede un líquido ciertamente espeso y uniforme.
15Unir el contenido de los dos boles y mezclar el conjunto hasta que el resultado sea uniforme
16Calentar de nuevo la sartén, esta vez al máximo.
17Cuando la sartén haya cogido temperatura, verter el contenido del bol
18Cuando los bordes de la tortilla estén ya cuajados, darle la vuelta a la tortilla con ayuda de un plato
19Volver a insertar la tortilla a medio hacer en la sartén para que termine de hacerse por el otro lado
20Cuando esté cuajada por completo, sacar a un plato
Agradezco a la gente de xataka.com por esta maravilla de ejemplo.

Bueno, ahora que ya sabemos lo que es un algoritmo la definición de programación cobra más sentido. Toca aclarar ahora qué es eso del Lenguaje.

Desgraciadamente el ordenador solo entiende código binario (0101010101101101010101010...), hay corriente o no hay corriente, hay luz o no hay luz, etc. Dependiendo del mensaje que le llegue la computadora hará una cosa u otra de acuerdo a las instrucciones que tenga predefinidas.

Sumar = 00101101
Restar 00010011
Mover  00111010

Esto en realidad para los programadores de a pie tiene poca importancia porque a día de hoy nadie... bueno, prácticamente nadie programa en código binario. 
Lo que se hace es escribir un algoritmo en un lenguaje sencillo que luego se traduce a 0s y 1s. 

Por ejemplo:

  print "Hola Mundo";

De algún modo consigue que aparezca una ventana que dice Hola Mundo cuando se ejecuta.

Lenguajes hay muchos, así que ni los voy a nombrar... si quieres verlos San Google te puede echar una mano.
Baste decir que se diferencian los siguientes grandes tipos según su forma de afrontar los problemas que se plantean:

-Declarativos -> Consisten en definir el problema. (los hay funcionales y lógicos... ni preguntes.)

-Imperativos  -> Son los que vamos a ver porque son los que conozco ;). Permiten la programación convencional, la estructurada, la orientada a objetos (aquí deberían sonar campanas) y otras.


Pues... de nuestra definición de programación ya solo queda decir cómo es que se traduce de ese lenguaje que alguien se ha inventado a código binario. La respuesta es sencilla: magia. Simplemente acuérdate que se llama compilar, ok?
Cuando programas por lo general usas un IDE, un programa que te echa una mano y que se encarga de esas cosas. Deja que tu IDE haga lo que tiene que hacer y no mires detrás de la cortina. 
En serio, no necesitas saberlo, pero si te pica la curiosidad... Wikipedia


Bueno, de momento lo dejo aquí y ya seguiré más adelante poco a poco. 
En la siguiente entrada -Pseudocodigo, es tu amigo.

Cualquier sugerencia es bienvenida.
Espero que os sea de ayuda.
Venga, suerte con eso.

No hay comentarios:

Publicar un comentario