Video: Lo más básico para empezar a programar
Vamos a arrancar con lo necesario para empezar en la programación... ¿qué es programar?... ¿qué es un computador?... ¿cómo está formado?... ¿qué es un sistema operativo?... los conocimientos mínimos previos a crear nuestros programas.
# ¿Qué es programar?
A un altísimo nivel, podemos decir que programar es darle órdenes a un computador, le decimos lo que queremos que haga.
# Dije “computador/computadoraâ€... ¿Pero qué es eso?
Para un programador, un computador es una caja, a la que le entra algo y devuelve algo, tiene una entrada y una salida. La tarea de esta caja es transformar la entrada en salida.
Transformación de Entrada en
Salida
# Pero... ¿cómo lo hace?
Supongamos que tenemos que hacer un cálculo mentalmente… “2 + 3â€
Primero debemos recordar los dos números a sumar, el 2 y el 3, los memorizamos. Ahora buscamos una manera de sumarlos… de chiquitos nos enseñaron que podemos sumar contando, vamos a usar palitos:
- - 2 (dos palitos) = | |
- - 3 (tres palitos) = | | |
- - 2 + 3 = | | + | | | = | | | | | = 5 palitos
Recopilando… primero memorizamos los números, tuvimos que recordar ambos, y después realizamos la operación mediante un proceso, que consistía en contar los palitos... el proceso de suma.
Y el computador hace esto: memoriza lo que entra, lo procesa, y devuelve el resultado.
Entonces decimos que
la computadora es una caja que memoriza y procesa para transformar una entrada en una salida.
A lo que ingresa, o a la entrada, se le llama dato y al resultado, o salida, se le llama información.
El dato es algo que podemos medir, que no nos representa nada. La salida es algo que nos permite tomar decisiones, se procesan esos datos.
Hay dispositivos para ingresar datos que son llamados de entrada y otros de salida para mostrar los resultados. También hay de entrada y salida, hacen las dos cosas.
Así que como programadores, es eso, memoriza e procesa, y nuestros programas son los que van a decir cómo tiene que hacer esta transformación de entrada en salida.
# ¿Y cómo le damos órdenes?
Para que la máquina nos entienda tenemos que hablar el mismo idioma, pero la computadora está formada por circuitos electrónicos, ¡no habla! solo puede determinar si pasa o no energía por cada uno de sus circuitos.
CIRCUITO ELECTRÓNICO (ON/OFF)
SISTEMA BINARIO (0/1)
Si se juntan muchos de estos circuitos se van formando códigos, así es como se crean códigos de 8 bits llamados bytes, como el código ASCII.
Equivalencia entre
binario y carácter
Pero esto no es solo para datos, los procesadores también tienen códigos para representar instrucciones. Este es el primer paso para hablarle a la computadora: el lenguaje de máquina.
# El sistema operativo
El sistema operativo es el que maneja todo el Hardware, maneja los hilos, y además permite la interacción con el usuario. Básicamente, logra que todo funcione, hardware y software.
# Compilador e Intérprete
Un lenguaje es de alto nivel cuanto más se acerca al humano y de bajo nivel cuanto más se acerca al de máquina.
Compilador
Genera un archivo ejecutable antes de correr el programa. Detecta errores en el proceso de compilación.
Intérprete
Va leyendo el código línea a línea y lo ejecuta. Encuentra los errores a medida que ejecuta.
Diferencia de flujo de
ejecución
El caso de Java es especial: es un lenguaje compilado pero el compilador no va hacia el lenguaje de máquina que maneja el sistema operativo, sino que va hacia una máquina virtual (JVM), que es la que interactúa con el sistema operativo. Dicha máquina virtual es la que termina ejecutando nuestro código.
Todos estos lenguajes tienen cosas parecidas, sin embargo, hay distintas maneras de escribir el código, según los paradigmas. Los paradigmas son: estructurado, objetos y funcional (algunos autores consideran que hay más). El estructurado es la base, los demás van agregando restricciones, como dice Robert Martin en su libro Arquitectura Limpia, por eso estructurado es lo primero que se suele aprender, la lógica básica, los algoritmos.
Hasta aquí llegamos con lo básico para empezar en la programación. Lo próximo que veremos son los algoritmos en el siguiente artículo, la escritura de la lógica de la programación.