Modelando cómo los programadores leen código



Michael Hansen ha decidido realizar un experimento para tratar de modelar cómo los programadores leen código. Para ello, analizó el movimiento de los ojos de programadores que estaba tratando de entender código que se les presentaba en Python (10 diferentes programas). Mediante un sistema para seguir los movimientos del ojo llamado Tobii TX300, pudo darse cuenta en qué pasan su tiempo los programadores cuando buscan entender código que se les presenta.

Es interesante ver cómo cambia la manera de ver el código cuando hablamos de un programador novicio a uno con experiencia. El siguiente video nos muestra el experimento en cuestión.

Por ejemplo, en un programador experimentado, los movimientos de sus ojos son precisos y directos desde el principio. Rápidamente encuentra la primera instrucción de impresión de resultados pedro se regresa a entender las funciones intermedias. El principiante, en cambio, gasta mucho tiempo recorriendo el texto hasta que halla el primer “print”. Evidentemente falta más experimentación, pero es claro que hay un cambio cualitativo, dependiente del nivel del programador.

En cierta forma, este experimento podría ayudar a la investigación en la psicología de la programación, para desarrollar una noción medible del uso de los lenguajes de programación. Hay por ejemplo, décadas en la comprensión de código, pero no hay aún ninguna manera de medir y cuantificar las diferencias de uso en por ejemplo, herencia simple y herencia múltiple. Por ello, parece ser necesario meterse en la cabeza de los programadores y mediante técnicas como el monitoreo del ojo, discernir qué es lo importante que hace el programador cuando busca entender el código que se le pone enfrente.

Evidentemente el experimento tiene aún que pasar por muchas etapas. Discernir o llegar a conclusiones sobre qué está pensando un programador se están basando en cómo los ojos observan el código en Python. Quizás la hipótesis inicial es correcta, pero habría que buscar controles para validarla.

El sueño del investigador es el de incorporar un modelo cognitivo computacional que pudiese leer código y predecir qué tan complejo es a partir del modelo que da la representación mental del mismo. Sin duda que es una investigación muy interesante, pues nos muestra un nuevo enfoque a lo que hacemos cuando programamos computadoras.

Referencias:

Synesthesiam

Publicado en NelsoN. Leave a Comment »

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: