Advertencia: Hay spoilers por delante para «Silicon Valley» del domingo.
El episodio del domingo de «Silicon Valley» fue un regreso a la normalidad. Richard está de vuelta a cargo de su compañía Pied Piper y la tripulación trajo a algunos nuevos empleados. Con todo lo que parecía ir bien para Richard en este momento, fue una oportunidad para que el episodio se divirtiera un poco y eso llegó en forma de un debate en gran medida trivial en el mundo de la codificación.
Al principio del episodio, Hendricks se asusta cuando se entera de que uno de los «commits» de su nuevo empleado, un lote de código escrito, se hizo usando espacios sobre pestañas.
La discusión sobre si usar pestañas o espacios domina la duración del episodio. Y, al final, incluso pone fin a la incipiente relación de Richard con un empleado de Facebook.
«No creo que esto vaya a funcionar. Lo siento mucho. Quiero decir, ¿como qué, vamos a traer niños al mundo con esto colgando sobre sus cabezas? Eso no es justo, ¿no crees?»Hendricks escupe furioso.
» ¿Niños?»pregunta Winnie, confundida. «Ni siquiera hemos dormido juntos todavía.»
«¿Y adivina qué?»Richard responde enojado,» Eso nunca va a suceder ahora. Porque de ninguna manera voy a estar con alguien que use espacios sobre pestañas.»
Es una escena clásica de «Silicon Valley», situada justo en el nexo de hilaridad, nerd y cringe profunda donde el espectáculo ha construido su marca de comedia.
Pero, además del final del primer romance real en el que hemos visto a Richard involucrarse, ¿qué diablos estaba pasando aquí? El programa da a los no programadores un poco de contexto al principio del episodio, haciéndonos saber que las pestañas frente a los espacios es un debate de codificación en gran parte trivial sobre el que Richard tiene opiniones neuróticamente fuertes.
Sin embargo, de esto se trata el argumento en realidad.
El código normalmente no está escrito en editores de lo que ves es lo que obtienes, como Microsoft Word. Más bien, a menudo se escribe como texto sin procesar, con todo el formato creado línea por línea.
Y como Jamie Zawinski explicó en una entrada de blog titulada «Tabs versus Spaces: An Eternal Holy War» en el año 2000, el código suele formatearse con sangrías y espacios en blanco de varias dimensiones, como:
Las cláusulas de código que tienen más sangría generalmente están subordinadas a las que tienen menos sangría por encima de ellas. Por lo tanto, el formato sirve más que un propósito estético; es parte del lenguaje visual que los programadores usan para comunicarse.
Pero, históricamente, ha habido dos formas de crear ese espacio en blanco: el favorito de Richard, pestañas, implica menos pulsaciones de teclas (y por lo tanto, en la mayoría de los casos, menos caracteres para que el programa de computadora recuerde), pero es un poco impreciso. El favorito de Winnie, spaces, ofrece a los programadores una forma más específica y literal de crear sus sangrías. Sin embargo, es más lento de usar y consume más espacio de almacenamiento.
En su entrada de blog de 2009 «Death to the Space Infidels!»Jeff Atwood representa visualmente la diferencia:
Los espacios, representados por puntos, están a la izquierda. Las pestañas, representadas por flechas, están a la derecha.
Por trivial que parezca el debate, se mantiene caliente en los círculos de codificación. (Al momento de escribir este artículo, hay 277 comentarios sobre el artículo de Atwood.) Y tiene cierta importancia. Atwood apunta hacia un estudio de 1984 que muestra que los programadores son mucho mejores en la lectura de código escrito en el estilo con el que están familiarizados.
Y cuando los equipos que trabajan en código no están de acuerdo, puede provocar peleas internas, como recuerdan ambas publicaciones de blog.
Afortunadamente para los programadores del mundo, el software más nuevo a menudo maneja todas estas preocupaciones de formato por su cuenta. Por lo tanto, menos equipos de codificación, o relaciones ficticias, deberían desmoronarse debido a ellos.