¿Los mejores codificadores juran más, o C simplemente les hace eso a los buenos programadores?


¿Alguna vez te has encontrado mirando un problema de codificación complicado y pensando, «mierda»?

Si esos pensamientos se abren paso en su código o en los comentarios asociados, está en buena compañía. Cuando el estudiante de pregrado Jan Strehmel del Instituto de Tecnología de Karlsruhe analizó el código fuente abierto escrito en el lenguaje de programación C, no encontró escasez de obscenidades. Si bien eso podría esperarse, el hallazgo general de Strehmel podría no serlo: la calidad promedio del código que contenía juramentos fue significativamente mayor que la calidad promedio del código que no lo hizo.

“¡Los resultados son bastante sorprendentes!” Strehmel dijo. Los programadores y científicos pueden tener muchas preguntas de seguimiento. ¿Están seguros los investigadores de que no hay ciertos programadores propensos a las blasfemias que sesgan los resultados? ¿Qué pasa con otros lenguajes de programación? Y, lo que es más importante, ¿por qué las palabrotas se correlacionan con un código de alta calidad? El trabajo está en curso, pero incluso sin todas las respuestas, una cosa es segura: Strehmel acaba de escribir una gran tesis de licenciatura.

Malas palabras, buen código

El supervisor de Strehmel, el bioinformático Alexandros Stamatakis, comenzó a preguntarse cómo las palabrotas afectan la calidad del código después de que un miembro del laboratorio le mostrara un gráfico de la prevalencia de palabrotas en varias versiones del código subyacente de Linux. Stamatakis se dio cuenta de que tenía la herramienta perfecta para preguntar si las blasfemias se correlacionan con la calidad del código. Un programa llamado SoftWipe, desarrollado por su laboratorio, mide el cumplimiento de los estándares de codificación, como el uso de controles de calidad y una estructura de código simple.

Para investigar, Strehmel extrajo alrededor de 3800 ejemplos de código que contenían palabrotas, junto con 7600 ejemplos de código que no las contenían, de GitHub. SoftWipe reveló que, en promedio, el código que contenía palabrotas obtuvo un puntaje medio punto más alto en su escala de 10 puntos de calidad de código que el código que no las contenía. “¡Mi reacción fue que esto es genial!” dijo Stamatakis. Con frecuencia se encuentra maldiciendo su propio código, aunque tiende a no documentar sus arrebatos en el texto. No obstante, se pregunta si sus cursos pasados ​​pueden ayudarlo a progresar en su carrera: «¡Tal vez eso me ayudó a convertirme en profesor titular!» él dijo.

Los psicólogos saben desde hace mucho tiempo que jurar puede aliviar el dolor, aumentar el rendimiento físico y ayudar a las personas a moldear su personalidad. De hecho, el psicólogo cognitivo Benjamin Bergen de la Universidad de California en San Diego, autor del libro, What the F: Lo que las palabrotas revelan sobre nuestro lenguaje, nuestro cerebro y nosotros mismos—se asegura de maldecir una vez durante cada conferencia universitaria que imparte (de una manera que es poco probable que ofenda a la clase) porque hay evidencia de que las blasfemias, cuando se usan estratégicamente, pueden aumentar la participación de los estudiantes.

Pero el vínculo entre jurar y la calidad del código no se ha examinado antes, hasta donde sabe Bergen, y la sugerencia de que existe una conexión es una «idea muy emocionante e interesante», dijo.

El poder de la personalidad

Los programadores que juran pueden estar más comprometidos emocionalmente con su trabajo que los que no lo hacen, planteó la hipótesis de Bergen, lo que podría llevarlos a producir productos de mayor calidad. Alternativamente, los programadores pueden incluir blasfemias para divertir o sorprender a las personas que leen su código, y si esperan que se lea su código, pueden hacer un esfuerzo adicional. Es probable que decir palabrotas sea un «síntoma de algo más profundo», dijo Bergen, y le gustaría que el trabajo futuro se centre en la causa subyacente de la asociación.

El ingeniero de software Greg Wilson, que ahora trabaja en la empresa de biotecnología Deep Genomics, no se sorprende al ver que las personalidades de los codificadores entran en su trabajo a través de la selección de palabras. Wilson cofundó una organización llamada The Carpentries que enseña a los científicos a convertirse en buenos codificadores y dice: «No conozco a nadie que sea bueno en algo que se deje fuera».

Wilson está emocionado de ver a los investigadores abordar la cuestión de qué hace que el código sea bueno, aunque los resultados de Strehmel son preliminares. Los programadores van a la zaga de otras disciplinas en términos de cómo evalúan su propio trabajo, dice. A diferencia de los arquitectos, que tienen formas matizadas de describir por qué un edificio es hermoso, los programadores “pueden decir que algo es una solución elegante y luego nos quedamos sin palabras”.

Sin embargo, le preocupan los impactos que pueden tener las blasfemias si parecen estar dirigidas a los programadores junior. El lenguaje agresivo se ha citado como un factor que desalienta a las personas, especialmente a aquellas de grupos que están marginados en STEM, de continuar trabajando en ingeniería de software. Strehmel y Stamatakis se encontraron con las calumnias ocasionales en el código que analizaron, y están de acuerdo en que hay líneas que los programadores no deberían cruzar. En cierto punto, “deja de ser divertido”, dijo Stamatakis.

Sin embargo, en general, los investigadores están disfrutando de su trabajo y tienen una larga lista de experimentos planeados para reforzar los resultados y obtener información adicional. Cuando estén listos para lanzar su producto final, Wilson espera ver el mensaje de compromiso. Se imagina que dice: «¡Mierda, funcionó!»

Saima Sidik es una escritora científica independiente con sede en Somerville, Massachusetts. Cuando no está escribiendo, disfruta andar en bicicleta por la ciudad, aprender fotografía y practicar taekwondo.



Source link-49