Cuando estudiar se convierte en algo secundario
Tras haber obtenido varios de sus diplomas paralelamente a su trabajo principal, el autor sugiere algunas ideas para las personas que desean continuar sus estudios mientras trabajan.
Publicado el 04 de octubre de 2023 Actualizado el 04 de octubre de 2023
¿Qué es la programación? ¿Cómo la visualizaría? Probablemente un poco como en la película Matrix (2000) de las hermanas Wachowski: líneas de diferentes códigos formando un mundo o simplemente un programa. Esta imagen no es lo más parecido a la codificación. No, hay metáforas mucho más fuertes para esta actividad, incluida la pasta.
La cuestión de la metáfora en informática no es un planteamiento nuevo. Para abordar mejor las nociones de interfaz, por ejemplo, ha sido necesario reflexionar sobre los conceptos. "Windows" no es ajeno a las diferentes ventanas que conducen a los navegadores de Internet, los procesadores de texto, los programas de videoconferencia, etcétera. El sistema operativo se concibió como una casa que se abriría a diferentes puntos de vista y herramientas informáticas.
De ahí que muchas de las aplicaciones actuales intenten ofrecer metáforas que atraigan a los usuarios. "Paper", una aplicación de dibujo en el iPad, juega con la impresión de trabajar con una hoja de papel de verdad. Un software que permite ver los resultados financieros de una empresa se describirá como un comunicador de su pulso. Por supuesto, una empresa no es un ser vivo, pero jugar con esta imagen ilustra hasta qué punto el usuario podrá seguir los datos casi en tiempo real. Algunos intentan comparar su creación con una ciudad, una fábrica o un jardín.
Pero hay que tener cuidado con esas metáforas, como señala el especialista en software David B. Black. Black. Una visión equivocada de un programa dará lugar a errores importantes. Entre otras cosas, desconfía de las analogías que se hacen con las casas. Muchos se autodenominan "arquitectos" de su aplicación. Es cierto que este especialista diseña planos, pero para un objeto tangible que, un día u otro, ya no podrá modificarse. Todo lo contrario que el software, que es invisible desde el principio y tiene que evolucionar constantemente.
Quienes ven su creación como una fábrica corren riesgos. Si las fábricas son capaces de producir lo mismo una y otra vez, un buen programa debe ser capaz de adaptarse a las distintas exigencias de sus usuarios.
Si la informática en general utiliza metáforas, no es de extrañar que la programación también adopte analogías. Por ejemplo, este sitio especializado en programación ágil (conocida como Scrum) comparará el enfoque con un perno que mantiene unidos los elementos, una base sobre la que construir a largo plazo y una dirección en la que el equipo de programadores puede ponerse en marcha.
La enseñanza del código puede recurrir a diversas comparaciones para reflexionar con los alumnos:
Sobre este último punto, el profesor Jon Corbett, de la Universidad Simon Fraser, ideó literalmente el código utilizando el nêhiyawêwin, uno de los dialectos del pueblo cree. Su idea era descolonizar la programación, que estaba prácticamente toda en inglés, para ponerla a disposición de la población de las Primeras Naciones. Siendo él mismo métis, se dio cuenta de que la programación era una forma de contar una historia que una máquina de ordenador pudiera entender. Así que su lenguaje de programación tiene en cuenta el concepto de narrador y ciertos ritos ancestrales. En su versión del código, existe un equivalente de "quemar hierbas para purificar el cuerpo", que corresponde a una función de vaciado de recuerdos ocultos y físicos.
Por tanto, el código puede explicarse de muchas maneras. En esta página se pueden ver ejemplos de dibujos que especifican una API (interfaz de programación de aplicaciones) o código JavaScript. La metáfora de la lasaña se utiliza a menudo para describir la dificultad de modificar el código. Como en este plato de pasta, cada capa parece estar en orden, pero añadir o quitar cosas sin prestar atención puede hacer que la comida se aplaste. Tortellini es una buena manera de explicar cómo se crea la arquitectura de un programa en pequeños paquetes de salsa (código fuente) para diseñar el software. Todo ello se rige básicamente por el acrónimo SOLID, creado por el ingeniero de software Robert C. Martin.
Y si la metáfora de la pasta le parece descabellada, debe saber que incluso es posible utilizar la cultura popular como analogía. El universo de Star Wars puede servir para hablar de variables (con los diferentes colores de sables de la saga), del principio de los bucles para hacer rodar a un droide como BB-8, etcétera.
No hay muchas comparaciones que estén fuera de los límites cuando se trata de introducir la programación. Basta con encontrar el enfoque ganador en función de los objetivos elegidos para que los alumnos puedan debatir, reflexionar y actuar en torno a esta imagen dada por su profesor.
Foto: Maik Jonietz / Unsplash
Referencias :
Black, David B. "Resumen: las malas metáforas de software conducen a malos resultados". Blackliszt. Última actualización: 5 de junio de 2023. https://www.blackliszt.com/2023/06/summary-bad-software-metaphors-lead-to-bad-results.html.
Corbett, Jon. "Codificación Cree". Pinnguaq. Última actualización: 28 de abril de 2023. https://pinnguaq.com/fr/stories/cree-coding/.
Craig, William. "5 razones por las que las metáforas pueden mejorar la experiencia del usuario". WebFX. Consultado el 29 de septiembre de 2023. https://www.webfx.com/blog/web-design/5-reasons-why-metaphors-can-improve-the-user-experience/.
"La codificación Cree descoloniza la programación informática". SFU Research. Consultado el 29 de septiembre de 2023. https://www.sfu.ca/research/scholarly-impacts/cree-coding-decolonizes-computer-programming.
"¿Cómo utilizas las metáforas para comunicar tu diseño de software a partes interesadas no técnicas?". LinkedIn. Última actualización: 1 de septiembre de 2023. https://www.linkedin.com/advice/0/how-do-you-use-metaphors-communicate-your-software.
"Que el código te acompañe: enseñar código con Star Wars". Code Week. Última actualización: 4 de mayo de 2023. https://blog.codeweek.eu/may-the-code-be-with-you-teaching-code-with-star-wars/.
"Una imagen vale más que mil programas". Maggie Appleton. Última actualización: 2021. https://maggieappleton.com/programming-pictures.
"Programando con pasta". Patrick Corbett. Consultado el 29 de septiembre de 2023. https://www.pmcorbett.tech/work/strained-pasta-programming/.
Slotte Dufva, Tomi, y Mikko Dufva. "Metáforas del código: estructurar y ampliar el debate sobre enseñar a los niños a programar". ResearchGate. Última actualización: septiembre de 2016. https://www.researchgate.net/publication/308276346_Metaphors_of_code-Structuring_and_broadening_the_discussion_on_teaching_children_to_code.
"Los metáforas del sistema pueden ser potentes". PremierAgile. Consultado el 29 de septiembre de 2023. https://premieragile.com/system-metaphors-can-be-powerful/.
Superprof: la plataforma para encontrar los mejores profesores particulares en España.