Lenguajes, la programación de mi cerebro
El autor utiliza el funcionamiento del cerebro como metáfora para exponer el potencial creativo que incorpora el proceso de programación informática, más cercano al procesamiento del lenguaje que a las matemáticas y anima, por eso, a aprender a escribir código como una forma de mejorar las capacidades profesionales
Hace ya más de 15 años que escribí mi primera línea de código. Recuerdo que fue en la universidad. Teníamos que programar un microchip que usaba una máquina de café. El lenguaje era ensamblador. Fueron unas clases intensas, pero me lo pasé muy bien. Eran muchísimos conceptos nuevos que a priori no tenían sentido y que además, para mí eran de lo más abstracto que había visto. Pero según iban pasando las horas, las líneas y las pruebas, eso iba cobrando sentido. La máquina hacía más cosas y empezaba a entender que es lo que estaba pasando realmente ahí. No era consciente de que aquella clase significaba el principio de una nueva forma de ver y hacer las cosas.
La programación y el cerebro
Y es que, desde aquella época y cada vez más, me pasa que veo algún producto electrónico y lo primero que me pasa por la mente es pensar cómo estará fabricado y lo segundo, cómo estará escrito. Pero no solo eso, sino que, en general, cada vez me pregunto con más frecuencia “Y esto, ¿qué es?” ¿Cómo funciona? ¿Por qué? ¿Qué pasaría sí…?
Y esto es porque nuestro cerebro está diseñado para crear relaciones, relaciones de causa-efecto. Como muy bien se explica en el curso de “La Neurona y el Sistema Nervioso” de Khan Academy, [i] las neuronas se comunican entre sí mediante un proceso denominado neurotransmisión, descrito por primera vez por Ramón y Cajal. En una sinapsis, una neurona envía un mensaje a una célula blanco, es decir, otra célula receptora neuronal o no. Las neuronas individuales hacen conexiones con neuronas blanco y estimulan o inhiben su actividad, lo que forma circuitos que pueden procesar la información entrante y producir una respuesta. La mayoría de las sinapsis son químicas, las cuales se comunican con mensajeros químicos. Otras sinapsis son eléctricas, en ellas los iones fluyen directamente entre células.
En una sinapsis química, un potencial de acción provoca que la neurona presináptica libere neurotransmisores. Estas moléculas se unen a receptores en la célula postsináptica y modifican la probabilidad de que esta dispare un potencial de acción.
El cerebro y una máquina
En un ordenador, una máquina o un dispositivo electrónico, lo que ocurre es algo parecido. Tenemos elementos, conectados entre sí, que tienen que hablar para producir una respuesta, una acción o un evento. Podríamos decir que la neurona hace referencia a los componentes de la máquina, el enlace entre ellos es la sinapsis y los neurotransmisores que permiten excitar o inhibir la acción es el lenguaje. Y como ocurre con las neuronas, existen principalmente dos tipos de lenguajes. Los lenguajes compilados y los lenguajes interpretados. Los lenguajes compilados son como los enlaces de las sinapsis químicas. El código fuente tiene pasar por un compilador que genera el código máquina para ese tipo de procesador concreto. En los lenguajes interpretados, sin embargo, las líneas de código se van traduciendo según se van necesitando no importando el procesador que haya debajo, sino el intérprete que sea capaz de traducirlo.
La programación, más que una habilidad
Insisto, es una metáfora y por tanto se tiene que interpretar como tal, pero sí creo que es suficientemente representativa para lo que quiero transmitir. Por un lado, hoy en día, la programación es básica para el funcionamiento de prácticamente todo aquello eléctrico que usamos, tenemos o necesitamos. Como la sinapsis para el funcionamiento del cerebro. De nada me sirve tener neuronas si no se conectan y relacionan entre ellas. La otra idea que quiero transmitir está muy relacionada con la capacidad que tiene el cerebro de entrenarse. Es sabido que en el cerebro el aumento de las relaciones neuronales incrementa la materia gris y la eficiencia de las zonas implicadas[ii]. Según un estudio realizado por Dra. Siegmund y su equipo, cuando un sujeto estaba leyendo código fuente, este activaba cinco regiones del cerebro, relacionadas con el procesamiento del lenguaje, la memoria funcional y la atención[iii]. Esto sorprendió mucho ya que, aunque el código tenía operaciones matemáticas, condicionales y bucles en ningún momento se activó significativamente el lado derecho del cerebro, el relacionado con las matemáticas. Su conclusión fue, por tanto, que sus cerebros eran capaces de entender el código sin necesidad de recurrir a nuevos modelos mentales.
Por tanto, solo me cabe animar a todos aquellos que están con la incertidumbre de si estudiar programación o no, que se decidan a intentarlo y los que no se lo han planteado nunca, que lo prueben. No es algo de cerebritos, matemáticos o científicos. Es algo más humano y por tanto más habitual, como lo es la capacidad del habla, de retener, comprender y resolver. La programación no solo te permite entrar en un mercado laboral cada vez más grande, sino que también, te ayuda a mejorar tus capacidades.
Juan Ignacio Cantero es experto en desarrollo de la industria 4.0 del Instituto de Tecnología Cerámica y colaborador de Atlas Tecnológico
[i] https://es.khanacademy.org/science/biology/human-biology/neuron-nervous-system/a/the-synapse
[ii] Haier, R.J., Karama, S., Leyba, L. et al. MRI assessment of cortical thickness and functional activity changes in adolescent girls following three months of practice on a visual-spatial task. BMC Res Notes 2, 174 (2009). https://doi.org/10.1186/1756-0500-2-174
[iii] Siegmund, Janet & Kästner, Christian & Apel, Sven & Parnin, Chris & Bethmann, Anja & Leich, Thomas & Saake, Gunter & Brechmann, André. (2014). Understanding understanding source code with functional magnetic resonance imaging. 10.1145/2568225.2568252. https://www.infosun.fim.uni-passau.de/cl/publications/docs/SKA+14.pdf