Si has aterrizado en esta página es muy probable que estés comenzando en el mundo de la programación y estés aprendiendo a programar.
Indistintamente del lenguaje que hayas elegido para esta apasionante aventura, debes tener claros algunos conceptos comunes antes de ponerte a programar.
Si te pregunto ¿Qué es la programación informática?, ¿Qué es un programa informático? o ¿Qué es un lenguaje de programación? ¿Sabrías responder? No te preocupes, vamos a aclarar todos estos conceptos para que cuando comiences a programar lo tengas todo mucho más claro.
Esto es todo lo que vas a encontrar en esta página:
¿Qué es la programación informática?
Si tu objetivo es programar, el primer paso es saber qué es la programación.
Cuando hablamos de programación informática nos referimos al proceso de crear programas o aplicaciones informáticas.
Durante este proceso los programadores le decimos a las máquinas (ordenadores, móviles, etc.) qué deben hacer. Para ello utilizamos un conjunto de instrucciones ordenadas escritas en un lenguaje de programación.
Los lenguajes de programación son fundamentales en este proceso. Sin ellos no podríamos comunicarnos con las máquinas, puesto que no entienden el lenguaje humano.
El resultado final del proceso de programación es el programa o aplicación. Pero ¿Qué es exactamente un programa informático? Sigue leyendo para averiguarlo.
¿Qué es un programa informático?
Seguro que usas programas a diario y muchas veces incluso sin darte cuenta. Cuando interactúas con tu teléfono móvil, trabajas con tu ordenador, juegas a videojuegos, mientras navegas por internet o incluso cuando te preparas un café.
Si, has leído bien, muchas acciones cotidianas en las que están implicados aparatos electrónicos necesitan programas informáticos. Seguro que muchos de los electrodomésticos de tu hogar ejecutan programas simples para poder funcionar, aunque no te des cuenta.
Entonces, ¿Qué es un programa informático? Una definición sencilla para programa podría ser la siguiente:
Conjunto de instrucciones ordenadas con una finalidad concreta que realizan una función determinada.
Dicho así, igual no queda muy claro. Vamos a ver un ejemplo, que siempre es más ilustrativo.
Imagina que tienes una cafetera inteligente de cápsulas (evidentemente esto no se aplica a las clásicas cafeteras italianas) y quieres un café cortado. ¿Qué haces? Colocas una cápsula en la cafetera y pulsas un botón. ¿Qué ocurre después? Se prepara el café, pero para que eso ocurra internamente se ejecutan una serie de instrucciones en un orden concreto.
Las instrucciones podrían ser las siguientes:
- Detectar la cápsula
- Detectar el tipo de café que debe preparar
- Determinar si hay suficiente agua
- Calentar el agua
- Enviar el agua a la cápsula para que se prepare el café
¿Podemos decir que cada una de las instrucciones anteriores tiene una función concreta? Si, cada una realiza una tarea (detectar la cápsula, calentar el agua, etc.). ¿El conjunto de todas ejecutadas en un orden concreto tienen una finalidad? Si, preparar un café.
Pues así de simple. Evidentemente existen programas informáticos mucho más complejos que ejecutan un volumen de instrucciones mayor con una lógica muy compleja, pero al final se resume en lo mismo: existe una finalidad, existen instrucciones y existe un orden lógico en su ejecución.
Y aquí está la clave: la lógica es fundamental en el proceso de programación. Es a lo que realmente tendrás que dedicar tu energía para aprender a programar. Tendrás que “aprender a pensar”.
Nos queda un último detalle. ¿Cómo le damos las instrucciones a la máquina? Esto lo hemos mencionado anteriormente. A través del proceso de programación se escriben estas instrucciones y para ello se utiliza un lenguaje de programación.
¿Qué es un lenguaje de programación?
Y esta es la última pieza del puzzle para poder programar: los lenguajes de programación.
Un lenguaje de programación no es otra cosa que un idioma que las máquinas son capaces de interpretar (en realidad es un poco más complejo, pero para empezar es suficiente).
¿Alguna vez has intentado hablar con tu ordenador o con tu móvil de la misma forma que lo harías con un amigo? Adelante, inténtalo. ¿Ha ocurrido algo? Evidentemente no. ¿Por qué? Simple, porque no te entiende. Las máquinas son hardware, no entienden el lenguaje humano, sólo entienden un lenguaje: el lenguaje máquina.
Siempre que vayas a programar tendrás que hacerlo con un lenguaje de programación (¡ojo! no es lenguaje máquina). Se trata de un lenguaje artificial que los humanos somos capaces de entender y escribir. Este lenguaje las máquinas no lo entienden directamente, pero lo pueden interpretar para traducirlo a lenguaje máquina y así ejecutar las instrucciones que se les indique.
Podríamos decir que un lenguaje de programación es un medio para comunicarnos con las máquinas.
Actualmente existen multitud de lenguajes de programación que han ido evolucionando con el tiempo. Hay otros muchos que se han ido quedando obsoletos, y también van apareciendo otros nuevos. ¿Cuál deberías aprender? Echa un vistazo al siguiente apartado y tal vez te ayude a decidir.
¿Qué lenguaje debo aprender?
A lo largo de la historia se han ido desarrollando nuevos lenguajes de programación que se han vuelto muy populares y, esto seguirá ocurriendo en un futuro. Por tanto, los lenguajes que hoy son los más usados puede que en 5 años sean sustituidos por otros.
Si quieres conocer la tendencia real de los lenguajes más utilizados por empresas y programadores puedes consultar el índice TIOBE que se actualiza cada mes: https://www.tiobe.com/tiobe-index/
Si te fijas en los resultados de los últimos años comprobarás que Java (línea verde) y C (línea negra) se han mantenido a la cabeza y que Python (línea azul) ha ganado popularidad desde 2018, llegando incluso a superar a los dos anteriores:
¿Significa esto que deberías aprender uno de estos tres? No tiene por qué. El que aprendas ahora no tiene por qué ser el lenguaje que utilizarás el resto de tu vida. Dependerá de cuál sea tu objetivo profesional (programación web, programación móvil, análisis de datos, etc.).
Si tu objetivo ahora es aprender programación, el lenguaje no es lo más importante. Inicialmente te recomiendo que elijas uno y focalices tu atención en aprenderlo. Céntrate en un solo lenguaje al principio. Te ayudará a adquirir las habilidades necesarias para entender la lógica de la programación, que es lo realmente importante.
Esto no significa que más adelante no puedas aprender otros, al contrario, aprenderás más, y cuando eso ocurra te darás cuenta que te costará mucho menos porque solo tendrás que aprender el lenguaje, no la lógica de la programación.
Yo siempre digo que aprender a programar no consiste en aprender un lenguaje, sino que consiste en aprender a pensar. Una vez que comprendas la lógica de la programación, aprender nuevos lenguajes será pan comido.
Aprende más sobre programación
Recursos gratis para aprender a programar
Y ahora, ¿qué lenguaje de programación quieres aprender? Como ya he comentado anteriormente Java y Python son dos de los lenguajes de programación más utilizados hoy en día, por eso he preparado un montón de recursos gratuitos que te pueden servir para aprender a programar con alguno de los dos.
Accede a ellos desde los siguientes enlaces: