Guía para aprender (de una vez) a programar (y gratis)
Image: REUTERS/Danish Siddiqui - RC1C945CF290
dmítelo. Los niños programadores te escaman. Porque tienen siete años y mandan sobre los robots. Y de pronto tienen doce y hablan código como si hubieran inventado Google. ¿Qué brujería es esa que hace que ellos puedan y tú no? Según parece, son sus cerebros blanditos, listos para amoldarse al pensamiento computacional. Pero aún hay esperanza para ti. "Nosotros hemos tenido a gente desde los 16 años hasta los 55. De hecho, la media de edad que manejamos ronda los treinta años", comenta Álvaro López-Cotelo, director general de lron Hack en Madrid.
Pues verás -mal y pronto-, programar es dividir una tarea compleja en las pequeñas acciones necesarias para su ejecución y expresarla en comandos comprensibles para una máquina. Por ejemplo,"voltear tortilla" tendría más sentido expresado con comandos como "estirar brazo", "asir sartén", "separar del fuego", "girar sobre un plato", "rezar"... Y estas órdenes necesitarían también información cuantitativa, cuántos centímetros vas a estirar el brazo, en qué dirección...
Eso sí, si vas a seguir estos consejos, tienes que ponerte manos a la obra ahora mismo. Que nos conocemos. "¿Ya? ¿Y por qué no dentro de unos días?", dirás. Bueno, vale, pero no más de siete, que son los correos diarios que te ofrece SuperHi para empezar el aterrizaje. Una vez suscrito recibirás píldoras con ideas básicas que conviene tener presentes: la importancia de aprender código, el hecho impepinable de que aprender a programar no te convertirá en Mark Zuckerberg, la exigencia de estar dispuesto a meter horas, la magia de encontrar ese fallo que te impedía continuar, los lenguajes de programación más extendidos, algunos proyectos para meterte en harina...
Pasados los siete días de gracia, te habrás quedado sin excusas. Y si los correos han surtido efecto, habrá despertado en ti el gusanillo del programador. Pero cuidado, el gusanillo acaba de nacer y está desorientado, seguramente te está diciendo que te empeñes tus riñones en la primera web que te venda un plan de formación, que por cierto es SuperHi. ¿Casualidad?
"Al principio hay dos objetivos: entender cómo funcionan las cosas, que no pasan por arte de magia y tener muy claras las bases", explica López-Cotelo. En esta fase, no está de más pasar por el Barrio Sésamo de la programación. Nos creemos muy listos y muy mayores, pero nos hemos perdido una infancia entera de introducción a la materia. "No está nada mal empezar por estos recursos. Uno que está muy bien es Code.org. Es una iniciativa global en la que han metido mucho dinero para que la gente aprenda código. Está pensado para todas las edades y enfocado al aprendizaje de conceptos muy básicos", precisa el director general de Iron Hack.
La madre de Code.org, también pensada para convertir los diferentes comandos en bloques de ensamblaje, es Blockly, desarrollada por Google. Una vez encadenados todos los pasos de una tarea, basta ejecutar el código para verla en acción. Esta acción puede ser un avatar desplazándose, la combinación de una serie de variables en una oración, añadir complementos a un selfie, una melodía... Por un lado, tomarás conciencia del amplio abanico de aplicaciones que pueden desarrollarse en programación y, por otro te irás quedando con la utilidad de conceptos básicos, como bucles -repite esta acción tantas veces- o declaraciones condicionales -si pasa esto, haz esto.
En madew/code, también cortesía de Google, encontrarás un catálogo de proyectos cuyo código de bloques puedes recrear, ejecutar e incluso cotillear, si tienes alguna duda. Pero, al César lo que es del César, el recurso clásico para aprender conceptos de programación mientras se encadenan bloques para crear animaciones y juegos es Scratch, desarrollado por el MIT hace más de 15 años.
Con las ideas anteriores en la cabeza, ver cómo cobran vida los comandos de Javascript escritos en Codecademy te parecerá menos cosa de brujas. Este portal también ofrece cursos gratuitos de HTML y CSS, que no son programación, sino diseño web. Pero no está de más controlarlos si algún día vamos a desarrollar aplicaciones en este medio. "Es algo que hay que saber, pero se aprende superrápido y es totalmente distinto. Cuando se complica la historia es cuando aprendes a programar", añade López-Cotelo.
Además, de rebote, irás desmitificando esa pantalla negra con retahílas de colores que suelen mostrar los editores para código. Por cierto, no vas a aprender a pescar si no tienes caña. Dos de los editores más frecuentes -ambos gratuitos- son Sublime Text y Brackets. Y si quieres cacharrear sin tener que estar creando, guardando y ejecutando archivos en tu ordenador, siempre puedes abrirte una cuenta en Codepen, que te presta un espacio para escribir el código y al lado te muestra los resultados en tiempo real.
Codecademy también te permitirá hacer una primera inmersión en la programación con palabras raras, la de verdad, la que no se entiende, la que se escribe en Python o Javascript. Y si no te convence, puedes probar Code Avengers, que utiliza un sistema casi idéntico: propone una tarea que debes ejecutar para pasar a la siguiente página. Aprender haciendo es la regla de oro. "Esto es cero de memorizar. La programación es practicar y practicar y practicar. Obviamente, con algo de teoría, pero nosotros siempre enseñamos orientados a la práctica. El que viene a estudiarse un libro, se estrella", advierte López Cotelo. Pero si optas por Code Avengers, date prisa: tendrás acceso a los materiales durante la primera semana de prueba, pasado este periodo, no podrás ir más allá de la quinta lección de cada curso (sin pagar).
Al principio, todo irá bien. El código que hayas escrito se ejecutará a la perfección. Pero un día pulsarás "Run" y no ocurrirá nada. Pasarás horas mirando la pantalla, como las vacas al tren, sin saber qué está mal. Vas a frustrarte y no puedes hacer nada para evitarlo. A lo mejor, hasta te rindes. "Es algo que ocurre. Al principio, aunque hay materiales buenísimos en internet para empezar, te tiene que gustar. Normalmente el que lo deja no es por complejidad, sino porque ve que no es lo suyo", explica López Cotelo.
"Como no tengas un poco de resiliencia, de capacidad de estar ahí empujando por tu cuenta, te puedes quedar por el camino". Pero si aguantas unos minutos más, descubrirás que la responsable de todos tus males era una maldita coma mal puesta. Y sabrás cómo se sintió Colón cuando vio tierra firme.
Agotados Code.org, Codecademy y CodeAvengers, tienes varias opciones. La peor idea es quizás lanzarte a la aventura e intentar empezar a programar por tu cuenta consultando la documentación del lenguaje que hayas elegido para empezar. Por cierto, López-Cotelo recomienda Javascript: "Es el más utilizado del mundo. Y una vez entiendes cómo funciona uno, no cuesta mucho saltar a otro", argumenta. El problema es que puede abrumarte la frustración.
Otra opción, es profundizar en aplicaciones más específicas para la programación, sin llegar a pagar por ello. Por ejemplo, Datacamp ofrece introducciones gratuitas a Python aplicado a Data Science, R y SQL. Para avanzar más, tendrás que pagar. Y si te resistes a ello, no dejes de asomarte al programa de Computer Science de la eternamente gratis Khan Academy.
Aun así, es probable que toques techo. "Te das cuenta cuando se te quedan cortos los recursos y necesitas algo que te dé más caña. Entre la gente que viene a Iron Hack, el comentario más unánime es que se les queda corto internet", explica López-Cotelo. Ojo, que la red es un recurso inagotable para averiguar si la programación es lo tuyo o resolver dudas específicas. Además, si todo sale bien, regresarás a ella: "Los recursos online vuelven a estar muy bien cuando ya tienes una buena base, entiendes cómo funciona y quieres aprender un lenguaje nuevo".
No te pierdas ninguna actualización sobre este tema
Crea una cuenta gratuita y accede a tu colección personalizada de contenidos con nuestras últimas publicaciones y análisis.
Licencia y republicación
Los artículos del Foro Económico Mundial pueden volver a publicarse de acuerdo con la Licencia Pública Internacional Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0, y de acuerdo con nuestras condiciones de uso.
Las opiniones expresadas en este artículo son las del autor y no del Foro Económico Mundial.
La Agenda Semanal
Una actualización semanal de los temas más importantes de la agenda global
Puedes anular tu suscripción en cualquier momento utilizando el enlace que figura en nuestros correos electrónicos. Para obtener más información, consulta nuestro Política de privacidad.