(hey, type here for great stuff)

access to tools for the beginning of infinity

Aprender a programar en la escuela: la nueva tercera lengua

El hardware es el nuevo software, destacan Wired, The New York Times o expertos en el MIT. Para que los nuevos productos hablen entre sí, los nuevos creadores necesitan aprender a programar.

La programación orientada a objetos (OOP en sus siglas en inglés), de la que depende el mundo tecnológico a nuestro alrededor, creará una nueva línea divisoria de alfabetización, entre quienes puedan programarse su mundo circundante y aquellos que no.

Concediendo la nueva luz de Prometeo: otorgar herramientas para “hackear”

Es el nuevo reto de los más jóvenes, así como del sector educativo, enfrascado en otras batallas y que no debería perder la oportunidad de otorgar a los ciudadanos del futuro una herramienta de conocimiento irresistible: la licencia para “hackear” (léase mejorar, personalizar) nuestra vida y, de paso, la oportunidad de labrarse su propio futuro con garantías y sin dependencias.

Tener nociones básicas de un lenguaje de programación debería ser un objetivo troncal en el currículum de los estudiantes de secundaria del futuro, o al menos así lo creen expertos de distintos campos en Estados Unidos, mientras en otros países se pierde el tiempo con percepciones identitarias y dogmas.

La programación informática, disciplina de la que Ramon Llull (con su máquina lógica Ars Magna) y Gottfried Leibniz (a través, entre otras cosas, de su estudio de Llull) son precursores “avant la lettre”, podría sucumbir al gusto por las presentaciones y los eslóganes de los poderes de turno, antes siquiera de haber entrado con fundamento en la enseñanza secundaria.

¿Es aprender a programar la nueva lengua extranjera?

La revista Smithsonian dedica un reportaje al aprendizaje de programación en el colegio y se pregunta, literalmente, si programar debería ser el nuevo equivalente a la “lengua extranjera”.

El veredicto: programar será crucial en el futuro y se convertirá en una ventaja competitiva inestimable, de modo que, cuanto antes asuma un alumno un nivel básico de competencia en programación orientada a objetos, mejor.

En el reportaje de Smithsonian, Kevin Mitchell, un ingeniero de software de 29 años, comparte su experiencia enseñando conceptos básicos de programación en una escuela privada de Nueva York especializada en alumnos motivados de familias sin recursos.

Maestros de programación orientada a objetos en enseñanza secundaria

Kevin Mitchell es uno de los voluntarios de la startup con fines sociales ScriptEd, centrada en enseñar programación en institutos con alumnos de pocos recursos de Nueva York.

Mientras se pasea por la clase, aconseja a los alumnos, que se familiarizan con la naturaleza y objetivos de un lenguaje de programación, con paralelismos obvios con cualquier otro lenguaje de patrones (desde las reglas gramaticales de un lenguaje determinado a los códigos de navegación, de la arquitectura, etc.).

Recuerda a sus alumnos que sean específicos con los comandos que escriben, remarcando a uno de ellos que no olvide cerrar la expresión con el símbolo “}”. “Recordad (…). Un error y se puede estropear todo”.

El esfuerzo lectivo presencial de ScriptEd en los institutos de Nueva York es emulado en Internet por iniciativas como Code.org, cuyos vídeos con conceptos básicos para aprender a programar son un fenómeno viral.

La nueva “brecha digital”: los que saben programar y los que no

Si en los años 90 se establecía la “brecha digital” entre quienes tenían acceso a Internet y aquellos que carecían de éste, los expertos de hoy creen que, en un mundo hiperconectado donde todos los objetos son susceptibles de ser programados y “adaptados”, la brecha se sitúa ahora entre quienes tienen competencia en “programación” y los que carecen de nociones básicas de este nuevo “segundo lenguaje universal”.

Todo lo que nos rodea depende de aplicaciones “escritas” en un lenguaje determinado, usando un contexto o “caja de herramientas” compatible (marco o “framework“).

Vida en el “mundo conectado”

Sin que lo percibamos, los objetos desconectados e inanimados que forman parte de nuestra cotidianeidad se personalizan, reducen su material físico (“desmaterialización“) y aumentan su utilidad como servicio, además de conectarse entre sí.

Teléfonos, tabletas, ordenadores y otros dispositivos han sido los primeros en conectarse a la Internet sin cables, y poco a poco se les unen vehículos, mobiliario privado y público, infraestructuras, etc. 

La “Internet de las cosas” y la desmaterialización de los productos, meros terminales de datos, no dependerá tanto de grandes empresas produciendo muchas unidades idénticas en factorías lejanas para reducir su precio (economías de escala) como hasta ahora. 

En el nuevo modelo de producción y uso tecnológico convivirán la fabricación de pequeñas tiradas y el amateurismo con los productos de grandes empresas, muchos de ellos a su vez diseñados para que cualquier usuario los modifique, adapte o transforme a su antojo.

El “mundo programable” de la Tercera Revolución Industrial

La Tercera Revolución Industrial producirá bajo demanda, tendiendo hacia la personalización y los servicios, dice The Economist. En el nuevo contexto el hardware seguirá una evolución similar a la del software:

  • desarrollo ágil (iteración, colaboración interdisciplinar);
  • colaboración en proyectos de código abierto;
  • y abrazo de la cultura hacker y libertaria del DIY-BYO (hazlo tú mismo), con sus raíces en la contracultura californiana.

Las producciones a gran escala convivirán con bienes concebidos y fabricados (usando Internet, técnicas de artesanía e impresión 3D, etc.) cerca de donde son consumidos, en los barrios más vibrantes de las grandes ciudades.

Usuarios creadores y factorías nicho: programación + cacharrería

En los inicios de la Tercera Revolución Industrial, las viejas factorías de la I Revolución Industrial dan paso a los talleres espececializados de los artesanos-hacker de hoy.

El “mundo programable“, tal y como lo llama Bill Wasik en Wired se propone utilizar la incipiente red de objetos y dispositivos interconectados para asistir nuestras necesidades y mejorar nuestra calidad de vida.

La idea del “mundo programable” no es nueva, pero ha dejado de formar parte de la ciencia ficción o un mundo lejano y tiene lugar ahora.

Los protagonistas no son sólo científicos, laboratorios y dispositivos fabricados y comercializados por grandes marcas, sino que los creadores amateur, aficionados del “hazlo tú mismo” y emprendedores capaces de concebir, diseñar, programar y producir dispositivos complejos (en jerga económica, bienes con “alto valor añadido”).

Smartdust: el momento de los sensores microelectromecánicos

Para que distintos objetos intercambien información y formen parte del “mundo programable”, se requieren sensores, placas base y placas computadora (diminutos ordenadores embebidos en una pequeña placa con el tamaño de una tarjeta) baratos, que cualquiera puede modificar y adaptar (código abierto).

Sensores (pronto oiremos acerca del “polvo inteligente“), placas y placas computadora de código abierto cuestan cada vez menos y, sirviéndose de las especificaciones disponibles en la página de cada uno de estos productos, cualquiera podría producir su propio modelo desde cero sin incurrir en ilegalidades.

Pero el hardware libre no lo es todo: las interfaces de programación de estos dispositivos requieren conocimientos (medios o avanzados) de programación orientada a objetos (Python, Perl, Ruby, C++, etc.) para, desde una interfaz de línea de comandos o similar, programar acciones a los dispositivos en red creados.

Soñando con robots que creen puestos de trabajo (y no lo opuesto)

A medio plazo, la robótica DIY podría convertirse en uno de los esperados revulsivos para generar trabajo cualificado y nuevos sectores económicos. Al menos hasta ahora, la robótica ha servido para justo lo contrario: reducir plantillas en sectores como el automovilístico, la industria de maquinaria pesada, logística, industria química, etc.

Las posibilidades de esta nueva era son insondables y cualquiera se puede convertir en “persona hecha a sí misma”, en emprendedor capaz de crear sofisticados prototipos y productos tecnológicos desde los primeros bosquejos en papel al diseño asistido por ordenador, pasando por la impresión casera de componentes, el diseño de la circuitería, la programación de los componentes electrónicos, etc.

Googlificando el hardware

La tecnología, tanto con licencia comercial como de código abierto, al alcance de cualquiera, es más barata y sencilla de conseguir que nunca antes; eso sí, requiere niveles de especialización cada vez más exigentes. 

Entre los últimos acontecimientos que ilustran esta evolución:

  • surgen robots programables y adaptables por el usuario-creador;
  • Motorola, división de Google, prepara teléfonos inteligentes programables por el usuario y otros dispositivos, en su intención de “googlificar” el hardware;
  • fabricantes de impresión 3D casera anuncian nuevas rondas de financiación;
  • surgen nuevas placas base para hacer realidad la “Internet de las cosas”: Pinoccio, Electric Imp., etc.;
  • el software de diseño asistido se adapta a los nuevos usuarios y productos, a la vez que reduce su precio (en consonancia con otros sectores de creación asistida por ordenador).

La democratización de la polimatía

Los aspirantes a artesano-hacker de los próximos años deberán formarse como auténticos polímatas. Y, entre las nuevas materias a las que deberán hacer frente, destaca la que debería convertirse, dicen algunos expertos, en “segunda lengua” en todo el mundo: el lenguaje de programación orientada a objetos.

En otras palabras: todos deberíamos aprender a programar en la escuela, o como mínimo a tener nociones básicas de programación avanzada, si queremos aplicar luego estos conocimientos a crear productos de todo tipo. También robots.

El escritor y periodista tecnológico Chris Anderson, autor del ensayo Makers sobre la supuesta nueva Revolución Industrial, ejemplifica las esperanzas depositadas por muchos expertos en este cambio de paradigma en cómo usamos y producidos bienes: en 2012 dejó el puesto de redactor jefe de Wired, ostentado desde 2001, para dirigir 3D Robotics, una startup de robótica especializada en vehículos aéreos no tripulados (tecnología UAV).

Esperar a la educación reglada… O prepararse desde ya

Si no es de manera reglada, los alumnos que aspiren a artesanos-hacker deberán asumir el aprendizaje por su propia cuenta, hasta que los planes educativos se adapten -como siempre, tarde y de manera más bien deficiente- a las necesidades del futuro tecnológico inmediato. De lo contrario, se arriesgan a tomar sus primeras clases “serias” de programación en la Universidad.

Plataformas de educación y recursos en Internet, muchos de ellos no reglados y gratuitos, pueden copar el vacío educativo en estos primeros años de transición, en los que tecnologías de hardware de código abierto e impresión 3D deberán también mejorar dramáticamente, según Wired.

La competencia en lenguajes de programación orientada a objetos es una de las habilidades mejor valoradas entre las empresas tecnológicas más avanzadas del mundo.

La programación, adecuada para emprendedores… y asalariados

Mientras el paro juvenil se enquista entre los jóvenes peor educados de los países ricos, en los centros tecnológicos más importantes (Silicon Valley, Nueva York, Seattle, Research Triangle de Carolina del Norte, Londres, etc.) hay un déficit de expertos en programación.

La Oficina de Estadística de Empleo de Estados Unidos (BLS) cree que se crearán al menos 778.000 empleos de alta cualificación relacionados con el software hasta 2020. Según el mismo organismo, el sueldo medio de un programador informático en Estados Unidos se situaba en 80.000 dólares, casi el doble que el sueldo medio en este país.

Aumenta la necesidad de programadores en todo el mundo, pero ni siquiera Estados Unidos se ha preparado hasta ahora para afrontar los nuevos retos. En 1999, el 25% de los alumnos de secundaria habían optado por al menos una clase de ciencia computacional; este porcentaje se había reducido al 19% en 2009.

El porcentaje de alumnos que han finalizado secundaria que afirman querer licenciarse en ciencia computacinal o un grado equivalente se ha reducido en un 70% a lo largo de la última década.

Las cifras son todavía más descorazonadoras en los países europeos que habían hecho más avances al respecto, por no mencionar a los que tratan de alcanzar unos niveles homologables.

No sirve cualquier “clase de informática”

Uno de los riesgos en que pueden incurrir los sectores educativos de distintas regiones y países es la falta de consenso acerca de planes educativos sobre programación, así como sobre la propia filosofía de los lenguajes de programación orientada a objetos más exitosos y con más proyección:

  • todos son de código abierto;
  • estos lenguajes de programación usan marcos o contextos (“frameworks”) también de código abierto;
  • sus creadores y colaboradores no definen la competencia en un determinado lenguaje en función de estrictos manuales, sino que lo único que requieren es el dominio estricto de la sintaxis o convenciones de cada lenguaje-marco.

Asimismo, asistimos al final de la era del ordenador personal, con teléfonos inteligentes y tabletas, placas base, placas computadoras y otros aparatos susceptibles de tener una interfaz programable.

Un mundo que funciona (sobre todo) con software de código abierto

Chris Anderson, Nicholas Negroponte, Tim O’Reilly y otros expertos apuestan por el papel de tendencias como la gestión de datos, la impresión 3D o, en la era post-PC, los robots programables (vehículos no tripulados, dispositivos adaptados a las necesidades de una persona o colectivo, etc.).

Después de los apacibles años de la informática personal, que finalizaron con una eclosión del software de código abierto (al menos en el “back-end” de Internet y el mundo empresarial, dominado por los proyectos abiertos) y la Internet móvil, estamos ya en el inicio del “mundo programable”.

En este “mundo programable”, la informática se centra en:

  • computación distribuida;
  • computación de dispositivos (coches, “drones” o robots no tripulados, interfaces de realidad aumentada, “smartdust” o sensores microelectromecánicos, etc.);
  • aplicaciones a partir de la gestión de datos;
  • computación simplificada para novatos: nacen servicios como IFTTT o Zapier, que ponen al alcance de cualquiera los conceptos y logros básicos de la programación (funcionan como lenguajes básicos o scripts: “si ‘esto’ -desencadenante-, entonces ‘aquello’ -acción-“).

(En este caso) el título no es lo más importante

Mientras los distintos estamentos del mundo académico inician el acostumbrado -y lento- proceso de reconocer la necesidad, analizarla, plantearla, intentar aplicarla, etc., los padres y alumnos a punto de iniciar la secundaria, así como los que ya están en secundaria, tienen a su alcance una herramienta que les permite aprender a programar al instante.

Se llama Internet y, con esfuerzo, perseverancia y -preferiblemente- la colaboración de algún mentor (puede ser el autor de un blog, o un buen artículo sobre la materia, a falta de algún amigo o profesor ducho), las nociones básicas de ciencia computacional pueden empezar ahora. Gratis.