Cómo interpreta el cerebro el código de computadora
Lenguaje y cognición
- Aprender programación es similar a aprender un nuevo idioma.
- Neurocientíficos del MIT descubrieron que leer código de computadora no activa las áreas del cerebro relacionadas con el procesamiento del lenguaje.
- En cambio, activa la red de demanda múltiple, que se activa al realizar tareas cognitivas complejas.
Método de investigación
- Los investigadores realizaron el experimento usando dos lenguajes de programación: Python y ScratchJr.
- Los participantes del experimento se acostaron dentro de un escáner de fMRI, observaron fragmentos de código y predijeron qué comportamiento tendría ese código.
- Los resultados mostraron que casi no hubo respuesta en las áreas cerebrales relacionadas con el lenguaje, y que se activó principalmente la red de demanda múltiple.
Efecto de la experiencia
- Los investigadores mencionan que, a medida que las personas dedicadas a la programación acumulan más experiencia, es posible que ciertas áreas del cerebro se especialicen.
- Sin embargo, en el estudio actual, esta especialización no apareció en personas con relativamente poca experiencia en programación.
Conclusión
- No hay una respuesta clara sobre si la programación debe enseñarse como una habilidad basada en matemáticas o como una basada en el lenguaje.
- Los educadores en ciencias de la computación deben desarrollar su propio enfoque para enseñar programación de la manera más efectiva.
Opinión de GN⁺
- La relación entre el código y el cerebro: Este estudio resulta interesante porque muestra que programar activa áreas cerebrales distintas a las del procesamiento del lenguaje. Esto puede ofrecer una nueva perspectiva sobre las metodologías de enseñanza de programación.
- Enfoque educativo: Al enseñar programación, es necesario considerar tanto un enfoque matemático como uno lingüístico. Esto abre la oportunidad de ofrecer educación adaptada a distintos tipos de estudiantes.
- La importancia de la experiencia: La posibilidad de que ciertas áreas del cerebro se especialicen a medida que aumenta la experiencia en programación subraya la importancia del aprendizaje a largo plazo y de la acumulación de experiencia.
- Red de demanda múltiple: Dado que esta red participa en diversas tareas cognitivas, programar podría ayudar no solo a adquirir una habilidad técnica, sino también a desarrollar capacidades complejas de resolución de problemas.
- Dirección de investigaciones futuras: Se necesitan estudios adicionales con programadores de mayor experiencia, lo que podría aportar datos importantes para optimizar la enseñanza de la programación.
1 comentarios
Opiniones de Hacker News
No se proporcionó el enlace al artículo, pero probablemente sea este paper. Los investigadores mostraron fragmentos de código a programadores y les pidieron predecir qué haría ese código.
Según el artículo enlazado, al leer código se activan áreas específicas del cerebro, asociadas con resolver cuidadosamente problemas no familiares. Pero puede que esto no se generalice a personas con más de 30 años de experiencia programando.
Lex Fridman entrevistó recientemente al lingüista Edward Gibson, e incluyó que leer código activa partes del cerebro distintas a las del lenguaje.
Intentar hacer que los lenguajes de programación sean como los lenguajes humanos es un error de principiante. Los lenguajes de programación se parecen más a construir algún tipo de estructura, y eso es distinto de la comunicación.
La diferencia entre los lenguajes de programación y los lenguajes humanos es que programar se parece más a construir una estructura. El lenguaje humano puede usarse para comunicar con muchos propósitos distintos.
Sería más interesante comparar la actividad cerebral entre leer código y leer lenguaje humano formalizado, o entre leer lenguaje formalizado y no formalizado.
Lo que más ayudó a escribir código limpio fue tomar una clase de escritura académica. Predecir código se parece más a una tarea de planificación que a un centro del lenguaje.
En un canal de YouTube leen código de proyectos open source. Se parece a la lectura visual de música. Los investigadores casi no vieron respuesta en las áreas del lenguaje.
Trabajo principalmente desde casa, escucho música y canto mientras programo. Pero no puedo cantar mientras leo. Cuando programo, sí puedo.
Leer código es distinto de leer prosa o hacer matemáticas. Es como resolver un rompecabezas. Hay que conectar y traducir varias cosas en tiempo real.
Leer código es como mirar una foto de engranajes y preguntar: "¿el engranaje A gira en sentido horario o antihorario?". Se siente como estudiar un mecanismo.
Al leer código no escucho una voz narradora en mi cabeza.