¿No sabes programar? Ya es hora de que aprendas

13 septiembre, 2018

Mires donde mires, el software está en todas partes

Si los ordenadores ya están en todas partes, nada hacer pensar que no lo estarán en el futuro. ¿Quieres dedicarte a la agricultura? ¿al entretenimiento? ¿prefieres trabajar en una fábrica? ¿mejor en una oficina? Sea lo que sea, tendrás que interactuar con un ordenador (o una máquina que contenga uno) y, dentro de él, habrá un software programado por alguien. Nuestro mundo es cada vez más dependiente de las aplicaciones software. Así pues, entender cómo se crea el software (es decir, saber programar) te permite entender y usar mejor (casi) todo lo que te rodea.

De igual manera que nos interesamos por la composición de los alimentos que consumimos (p.ej. cuántas calorías tiene, cuál es el origen de los ingredientes, etc.), ¿por qué no interesarnos también por cómo está hecha una app o una web? Tener este interés y conocimiento nos permitiría ser exigentes y críticos con todo el software con el que interactuamos, al igual que lo somos con los alimentos que comemos. Hoy en día, la mayoría de las personas se limita a aceptar el software con el que interactúa, no se plantea si está bien o no, si puede ser mejor o no, etc. Esta aceptación ciega seguramente se deba a la falta de un aprendizaje en esta materia.

Un deporte llamado programar

Programar es como practicar un deporte o como tocar un instrumento. Para dominarlo debes entrenar/ensayar. Así pues, cuantas más horas le dediques, mejor serás. Como se suele decir, a programar se aprende programando. Y como cualquier deporte o instrumento, se puede practicar desde temprana edad, no es algo de adultos (ni de jóvenes). Es para todas las edades.

Lo bueno de programar es que puede llegar a ser una actividad muy divertida. Tanto es así que, por ejemplo, programar un videojuego –como puede ser el “3 en raya”– seguramente es más divertido que el videojuego en sí. Además es muy gratificante, puesto que enseguida ves resultados. Por ejemplo, conseguir por primera vez que el ordenador escriba “Hello world!” es algo relativamente rápido y, sin duda, emocionante (y un recuerdo para toda la vida). En ese momento sabes que tienes en tus manos, con la ayuda de un ordenador (evidentemente, tras muchas horas de práctica y perfeccionamiento) como si fueras un mago o un dios, el poder de crear “cualquier” cosa que se le ocurra a tu imaginación. Por decirlo de una manera muy simple y clara, programar sería similar a tener el carné de conducir. Si tenerlo te da la libertad de desplazarte a cualquier sitio, el “carné de programación” te da la libertad de crear lo que sea con un ordenador. Así pues, la programación no limita tu imaginación, sino que se convierte en una aliada de ésta.

Además es una actividad desafiante, que plantea un reto tras otro. Por ejemplo, cuando estás haciendo un software siempre se te ocurren funcionalidades extras que te obligarán a aprender cosas nuevas: ¿qué tal si el sistema calculara de manera inteligente tal cosa? ¿qué tal si permitiera conectar a dos usuarios a través de Internet? ¿y si guardara información en una bases de datos ubicada en un servidor? ¿y si además de la versión escritorio actual tuviera una versión para el móvil?

La programación te ayuda a pensar

“Everybody in this country should learn how to program a computer… because it teaches you how to think”.  Steve Jobs

En lo que se refiere al sistema educativo, el desafío del futuro será que los niños y niñas, más que aprender un lenguaje de programación determinado, aprendan a resolver los problemas a los que se enfrentan siguiendo un pensamiento computacional. Es decir, que las soluciones que aporten puedan ser representadas como secuencias de instrucciones y algoritmos. Pensar de manera computacional impone una forma de pensar muy racional, muy ordenada, muy metódica. Concretamente ayuda a:

-Organizar y analizar lógicamente la información.

-Representar la información a través de abstracciones como los modelos y las simulaciones.

-Automatizar soluciones haciendo uso del pensamiento algorítmico (estableciendo una serie de pasos ordenados para llegar a la solución).

-Identificar, analizar e implementar posibles soluciones con el objetivo de lograr la combinación más efectiva y eficiente de pasos y recursos.

-Generalizar y transferir este proceso de resolución de problemas para ser capaz de resolver una gran variedad de familias de problemas.

La programación, sin duda, puede ser muy beneficiosa para quien la practica. Desde hace años muchas escuelas de educación primaria introducen el ajedrez en sus aulas con tal de que sus alumnos aprendan a concentrarse, razonar, pensar estrategias, etc. Es posible que, en un futuro no muy lejano, la programación, en lugar del ajedrez, sea la actividad escogida para trabajar los elementos anteriormente mencionados. De hecho, gracias a Scratch y Lego Mindstorms, la robótica está teniendo un gran auge, sobre todo, como actividad extraescolar.

Así pues, si no sabes programar, plantéate empezar. Al principio seguramente te costará, pero pronto será algo que amarás y no podrás dejar de practicar.

¿Por dónde empezar?

Hoy en día una buena manera de empezar a programar es mediante Scratch, un lenguaje de programación visual basado en bloques. Es sencillo e intuitivo. En Code.org encontrarás cursos que te ayudarán a entender la lógica algorítmica (i.e. la base de la programación) de manera progresiva. Tras “dominar” Scratch, puedes pasar a programar mediante un lenguaje textual (que es como están hechos los programas de verdad). Para ello se recomienda empezar con Python, Processing, JavaScript, PHP o C. Te darás cuenta que la base algorítmica (i.e. la lógica) es muy similar entre los diferentes lenguajes y que sólo tienes que aprender las cosas diferentes/peculiares de cada lenguaje. Así pues, si tienes una buena base algorítmica (que puedes obtener con Scratch), ya tienes mucho ganado para ir aprendiendo los diferentes lenguajes de programación. ¡Mucho ánimo!

David García Solórzano es Doctor por la Universitat Oberta de Catalunya (UOC) e Ingeniero en Informática y Multimedia por la Universitat Ramon Llull (URL). Es profesor de los Estudios de Informática, Multimedia y Telecomunicación de la UOC donde ejerce actualmente como responsable de trabajos finales y asignaturas de programación.

(Visited 47 times, 1 visits today)
Autor / Autora
Comentarios
Deja un comentario