Attenzione: Ci sono spoiler avanti per domenica ” Silicon Valley.”
L’episodio di domenica di” Silicon Valley ” è stato un ritorno alla normalità. Richard è tornato a capo della sua compagnia Pied Piper e l’equipaggio ha portato alcuni nuovi assunti. Con tutto ciò che sembra andare bene per Richard in questo momento, è stata una possibilità per l’episodio di divertirsi un po ‘ e che è venuto sotto forma di un dibattito in gran parte banale nel mondo della codifica.
All’inizio dell’episodio, Hendricks impazzisce quando apprende che uno dei “commit” del suo nuovo dipendente — un lotto di codice scritto — è stato realizzato utilizzando spazi su schede.
La discussione sull’utilizzo di schede o spazi domina la lunghezza dell’episodio. E, alla fine, porta anche il rapporto in erba di Richard con un dipendente di Facebook a una brusca frenata.
“Non penso che questo funzionerà. Mi dispiace tanto. Cioe’, porteremo dei bambini al mondo con questa roba in testa? Non e ‘ giusto, non credi?”Hendricks sputa fuori di rabbia.
“Bambini?”chiede Winnie, confuso. “Non abbiamo ancora dormito insieme.”
“E indovinate un po’?”Richard risponde con rabbia,” Non succederà mai ora. Perché non c’è modo di stare con qualcuno che usa gli spazi sulle schede.”
È una classica scena della “Silicon Valley”, seduta proprio al nesso di ilarità, nerdiness e profondo rabbrividire in cui lo spettacolo ha costruito il suo marchio comico.
Ma, oltre alla fine della prima vera storia d’amore in cui abbiamo visto Richard coinvolto, cosa diavolo stava succedendo qui? Lo spettacolo dà ai non programmatori un po ‘ di contesto all’inizio dell’episodio, facendoci sapere che le tabs-vs.-spaces è un dibattito di codifica in gran parte banale su cui Richard ha opinioni nevroticamente forti.
Ecco di cosa si tratta in realtà l’argomento.
Il codice in genere non è scritto in editor what-you-see-is-what-you-get come Microsoft Word. Piuttosto, è spesso digitato come testo grezzo, con tutta la formattazione creata riga per riga.
E come Jamie Zawinski ha spiegato in un post sul blog intitolato “Tabs versus Spaces: An Eternal Holy War” nel lontano 2000, il codice è tipicamente formattato usando rientri e spazi bianchi variamente grandi, in questo modo:
Le clausole nel codice che sono più rientrate sono generalmente subordinate a quelle meno rientrate sopra di esse. Quindi la formattazione serve più di uno scopo estetico; fa parte del linguaggio visivo che i programmatori usano per comunicare.
Ma, storicamente, ci sono stati due modi per creare quello spazio bianco: il preferito di Richard, tabs, comporta meno pressioni di tasti (e quindi, nella maggior parte dei casi, meno caratteri per il programma per computer da ricordare), ma è un po ‘ impreciso. Il preferito di Winnie, spaces, offre ai programmatori un modo più specifico e letterale per creare le loro rientranze. Tuttavia, è più lento da usare e consuma più spazio di archiviazione.
Nel suo post sul blog del 2009 “Morte agli Infedeli spaziali!”Jeff Atwood rappresenta visivamente la differenza:
Gli spazi, rappresentati da punti, sono a sinistra. Le schede, rappresentate dalle frecce, sono sulla destra.
Banale come il dibattito può sembrare, funziona a caldo nei circoli di codifica. (Al momento della stesura di questo articolo, ci sono 277 commenti sull’articolo di Atwood.) E ha una certa importanza. Atwood punta verso uno studio del 1984 che dimostra che i programmatori sono molto più bravi a leggere il codice scritto nello stile con cui sono familiari.
E quando i team che lavorano sul codice non sono d’accordo, può scatenare lotte intestine, come ricordano entrambi i post del blog.
Fortunatamente per i programmatori di tutto il mondo, il software più recente spesso gestisce tutti questi problemi di formattazione da solo. Quindi meno team di codifica, o relazioni fittizie, dovrebbero cadere a pezzi a causa loro.