Introducción
a la Programación
Comenzaremos por
definir que es una computadora, y como podemos utilizarla para que
realice tareas por nosotros.
Computadora
Una computadora,
es más que un dispositivo que nos permite navegar en Internet para
acceder a redes sociales, escribir un texto o enviar e-mails, para un
programador, una computadora es un dispositivo capaz de ejecutar
ordenes a una gran velocidad. ¿Qué son estas ordenes? No son más
que cálculos entre ciertos valores. Sin entrar en grandes detalles,
podemos dividir una computadora en dos partes: una memoria de
datos y un procesador.
En la memoria de
datos se guardarán los datos con los que el procesador realizará
cálculos.
Por ejemplo:
tenemos dos valores almacenados en la memoria : 5 y 7, el procesador
tiene la capacidad de “leer” esos dos valores y realizar un
calculo con ellos, por ejemplo, sumarlos.
La pregunta es
¿Cómo llega una computadora que solo puede sumar valores, a
permitirme navegar por Internet, o ver una película o escuchar un
mp3? La respuesta es que, obviamente, la única operación que
realiza un procesador no es la suma, y que tampoco realiza una sola
operación, sino un conjunto ordenado de ellas, y este
conjunto es lo que se conoce como un programa.
Programa.
“Un programa
informático es un conjunto de instrucciones que una vez ejecutadas
realizarán una o varias tareas en una computadora. Sin programas,
estas máquinas no pueden funcionar.” (Wikipedia)
De modo que
nuestra tarea como programadores, valga la redundancia, es escribir
programas. Estos programas realizarán tareas, al comienzo más
simples ( desde sumar dos números hasta una simple calculadora), y
luego mas complejas.
Ejemplo de nuestro primer programa:
ValorA = 5
ValorB = 7
Resultado = ValorA + ValorB
Para explicar este
pequeño programa, introduciremos el concepto de “Variable”. Una
variable, es una porción de memoria de nuestra computadora, en donde
podremos almacenar un valor.
En nuestro programa, representamos estas porciones de memoria con un
nombre definido por el programador, en este caso, tenemos 3
variables:
- ValorA
- ValorB
- Resultado
En la primera se
almacenará el valor 5, en la segunda el valor 7 y en la tercera, la
operación “suma” entre las dos primeras.
Cabe destacar que
en un programa, cada línea se ejecuta por el procesador en orden
descendente, es decir:
- ValorA = 5
- ValorB = 7
- Resultado = ValorA + ValorB
Al ejecutarse la
primera línea, el procesador almacena el valor 5 en la porción de
memoria llamada “ValorA”:
Memoria de datos
|
|
ValorA | 5 |
ValorB | - |
Resultado | - |
... | ... |
Al ejecutarse la
segunda línea, el procesador almacena el valor 7 en la porción de
memoria llamada “ValorB”:
Memoria de datos
|
|
ValorA | 5 |
ValorB | 7 |
Resultado | - |
... | ... |
y al ejecutarse la
tercer línea, el procesador realiza la operación suma entre los
valores almacenados en las porciones de memoria “ValorA” y
“ValorB” y almacena el resultado en la porción de memoria
llamada “Resultado”:
Memoria de datos
|
|
ValorA | 5 |
ValorB | 7 |
Resultado | 12 |
... | ... |
Lenguaje
de programación
Una vez
comprendido qué es un programa, nos resta preguntarnos ¿Cómo se
escribe un programa? Es decir, no podemos pretender que una
computadora nos entienda cuando le decimos:
ValorA = 5
ValorB = 7
Resultado =
ValorA + ValorB
Porque del mismo
modo que nosotros escribimos este programa sin ninguna consideración,
otra persona podría haber escrito:
ValorA vale 5
ValorB vale 7
Resultado es
igual a (ValorA mas ValorB)
Como podemos
observar, necesitamos definir ciertas reglas de cómo escribir
un programa, para que cualquiera que lo escriba, lo haga de la misma
forma, y a su vez, esta forma tiene que poder ser interpretada por la
computadora. Estas reglas de escritura, conforman un lenguaje de
programación.
Como se podrán
imaginar, no existe solo un lenguaje de programación, sino que a lo
largo de la historia de la computación, se fueron desarrollando una
gran cantidad, cada uno posee sus reglas de escritura, y el
programador que escriba en cada lenguaje deberá respetarlas para que
el programa funcione.
Ejemplos de
nuestro pequeño programa en algunos lenguajes de programación:
Java:
public
class
Main {
public
static
void
main(String[] args) {
int
valorA;
int
valorB;
int
resultado;
valorA=5;
valorB=7;
resultado=valorA+valorB;
}
}
Python:
valor_a
= 5
valor_b
= 7
resultado
= valor_a + valor_b
PHP:
<?php
$valor_a
= 5;
$valor_b
= 7;
$resultado
= $valor_a
+ $valor_b;
?>
C:
int
main(int
argsc, char
**
argsv) {
int
valorA;
int
valorB;
int
resultado;
valorA=5;
valorB=7;
resultado=valorA+valorB;
}
Cada lenguaje
tiene su sintaxis y pueden diferir ampliamente, durante el curso se
estudiará el lenguaje Java, necesario para escribir las aplicaciones
para Android.
Compilación
Debido a la gran
diferencia de sintaxis que poseen los diferentes lenguajes, nos
preguntamos ¿Cómo una computadora puede comprender las sentencias
escritas? La respuesta es que no lo hace, el conjunto de ordenes que
nosotros escribimos al programar, deben ser traducidos a un conjunto
de ordenes que el procesador comprende, este conjunto de ordenes es
conocido como el set de instrucciones del procesador. Estas
instrucciones no son más que números que el procesador sabe
interpretar para saber qué operación debe realizar.
El “traductor”
de nuestro lenguaje al set de instrucciones del procesador ( también
conocido como lenguaje de máquina) es un programa que se
llama “Compilador”.
El compilador,
transformará lo que el programador escribe en un conjunto de números
que el procesador puede interpretar y ejecutar. También será el
encargado de verificar que lo que el programador escribió cumple con
las reglas del lenguaje, es decir, existe un compilador para cada
lenguaje.
Proceso de programación
Haremos un resumen
de los pasos necesarios para obtener un programa que realice una
tarea:
- Elegir un lenguaje de programación para escribir nuestro programa.
- Escribir el programa en un archivo de texto respetando las reglas del lenguaje elegido.
- “Compilar” nuestro archivo de texto para obtener un archivo ejecutable que el procesador puede interpretar.
Este archivo que
nos devuelve el compilador, será nuestro programa.
Este programa
obtenido, será diferente para cada tipo de procesador
(X86,ARM,PowerPC,etc.) y también será diferente para cada sistema
operativo (Windows,Linux,MAC OS,Android)