Gu¨ªa para aprender (de una vez) a programar (y gratis)
Deja de mirar mal a esos ni?os que saben m¨¢s que t¨² y empieza a hablar el lenguaje de las m¨¢quinas
Adm¨ª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.
"Mucho rollo, pero no s¨¦ ni qu¨¦ es programar"
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?
- Hello World
Code.org
"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.
- El idioma de las m¨¢quinas
Hay que saber HTML y CSS, pero se aprende superr¨¢pido y es totalmente distinto
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).
- Te vas a atascar
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.
- ?Y luego?
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".
Tu suscripci¨®n se est¨¢ usando en otro dispositivo
?Quieres a?adir otro usuario a tu suscripci¨®n?
Si contin¨²as leyendo en este dispositivo, no se podr¨¢ leer en el otro.
FlechaTu suscripci¨®n se est¨¢ usando en otro dispositivo y solo puedes acceder a EL PA?S desde un dispositivo a la vez.
Si quieres compartir tu cuenta, cambia tu suscripci¨®n a la modalidad Premium, as¨ª podr¨¢s a?adir otro usuario. Cada uno acceder¨¢ con su propia cuenta de email, lo que os permitir¨¢ personalizar vuestra experiencia en EL PA?S.
?Tienes una suscripci¨®n de empresa? Accede aqu¨ª para contratar m¨¢s cuentas.
En el caso de no saber qui¨¦n est¨¢ usando tu cuenta, te recomendamos cambiar tu contrase?a aqu¨ª.
Si decides continuar compartiendo tu cuenta, este mensaje se mostrar¨¢ en tu dispositivo y en el de la otra persona que est¨¢ usando tu cuenta de forma indefinida, afectando a tu experiencia de lectura. Puedes consultar aqu¨ª los t¨¦rminos y condiciones de la suscripci¨®n digital.