Código para amueblar cabezas: hola mundo
X

Resumen

Victor Sánchez reflexiona sobre la importancia del pensamiento computacional a través de su experiencia personal. Además, este experto ofrece una serie de conclusiones al final del artículo que resumen los aprendizajes obtenidos a través de la programación.

Recuerdo una larga conversación con mi padre sobre unas personas, los programadores, que habían escrito alguna clase de código que le decía al robot como hacer todas aquellas cosas que a mí en ese momento se me antojaban mágicas. Ese código que vivía en el chip me obsesionó y mi padre prometió comprarme un libro de programación. Cumplió su promesa y recibí aquella semana mi primer libro de JAVA que, por supuesto, estaba en inglés.

En mi post anterior hablaba de la capacidad de resilencia de los makers. Este es el primer caso que recuerdo de un fracaso estrepitoso y constante, sin avances literalmente durante meses. No tenía el nivel de inglés necesario y descargar en aquella época con un router de 56kbps la versión correcta del JRE (Java runtime environment) y el SDK (Software development kit) de JAVA era en si mismo un reto.

Sin embargo, un día todo estaba configurado, entendía el compilador y tenía la versión adecuada del JRE y el SDK, durante meses había intentado ejecutar ese código de ejemplo “javac Test.java” (javac es el compilador de JAVA) y luego “java Test” para ejecutar el programa ya compilado.

"Aprender a programar cambio mi manera de pensar y resolver problemas"

¡Eureka! Desde ese momento era un programador. Mi primer programa había ejecutado con éxito su única y extremadamente sencilla tarea: imprimir por pantalla “Hola Mundo”, el primer ejemplo de cada lenguaje de programación para millares de desarrolladores. Estaba enganchado.

En unos pocos días resolvía tablas de multiplicar que se imprimían por mi pantalla de fósforo verde, las guardaba a un archivo de texto y las imprimía. Después vendrían los primeros juegos-conversaciones, a los que obligaba a jugar a mi familia, y muchos otros lenguajes entre ellos las versiones primigenias de HTML y Javascript que hoy son el día a día en mi empresa.

Pero, ¿qué valor tenía todo aquello? tardé años en entenderlo pero aprender a programar cambio mi manera de pensar y resolver problemas.

Aquí están algunos de los muebles que llegaron a mi cabeza en esa época:

  • Existen infinitas soluciones en el mundo del software para resolver un problema dado. sin embargo, un subconjunto muy pequeño de ellas es eficiente, es legible por otros y es hasta elegante. Con frecuencia oirás a programadores hablar de su código con términos que pueden sorprenderte bonito, feo, frustrante, anticuado. Mi primera lección fue que incluso algo tan técnico tenía mucho de arte y otro mucho de ciencia. Además me enseñó a buscar no sólo una solución sino una solución bonita en ese y otros ámbitos de la vida.
  • La fría lógica. Análisis y cálculo. Compilar un programa grande lleva tiempo y si tu código es feo esto es doblemente cierto. Una habilidad que en lenguajes compilados tiene mucho valor es saber qué hará tu código antes de ejecutarlo. Eso te convierte esencialmente en un intérprete continuo de lo que escribes y ser capaz de ejecutar comandos en tu cabeza. Igual que el ajedrecista piensa en sus siguiente jugadas el programador entiende de antemano lo que hará su programa. Este mueble fue una potente calculadora que todavía uso cuando juego al ajedrez, hago cálculo mental o desarrollo mi actividad profesional.
  • Divide y vencerás. El mundo real es tremendamente complejo, es por eso que para que los ordenadores nos ayuden a resolver los problemas reales debemos codificarlo de una manera simplificada. Uno de los mejores paradigmas para ello es la llamada “orientación a objetos”. Esencialmente, en lugar de escribir largos fragmentos de código que describen o predicen la compleja realidad partimos esa realidad en objetos más manejables que modelamos y hacemos actuar en relación a otros. La orientación a objetos tiene en sí misma dos lecciones, cómo en el punto 1, la elección de cómo partimos nuestra realidad en objetos programables cambiará la “calidad” de la solución y el hecho de que pocos problemas se resisten a la subdivisión de su complejidad hasta el punto de ser capaces de solventarlo. Una auténtica lección de vida.
  • El código está en TODAS partes. Cuando uno entiende cómo se programa empieza a ver a su alrededor como las máquinas y procesos que inundan nuestras vidas funcionan en su interior. De niño recuerdo pensar embobado las cientos o miles de líneas de código que había en mi consola, en el salpicadero electrónico de nuestro nuevo coche o en una nave de una misión Apollo. Entender la programación es hoy en día una forma de entender e interesarse por el mundo. En un futuro no muy lejano el analfabetismo será no saber leer o escribir código. Créeme tu hijo quiere estar en el lado adecuado de la llamada “brecha digital”.
  • Nada hay más práctico ni gratificante que enseñarte a ti mismo. La forma en que me vi obligado a aprender a programar me hizo un autodidacta eficiente y pragmático para frustración de muchos profesores de mi vida. ¿Y tú? ¿Eres programador? ¿Qué muebles aportó a tu cabeza aprender a programar?

Víctor Sánchez

Experto en tecnología y apasionado de la educación

"La tecnología puede ayudarnos a crear para nuestros alumnos aventuras incompletas, nuestra labor es ayudarles a completarlos para provocar en ellos el tan ansiado... ¡eureka!"

Inicia sesión para dejar un comentario

¿No estás registrado? Registrar

Debes escribir una respuesta