Attention: Il y a des spoilers à venir pour la « Silicon Valley » de dimanche. »
L’épisode de dimanche de « Silicon Valley » était un retour à la normale. Richard est de retour à la tête de sa compagnie Pied Piper et l’équipage a recruté quelques nouveaux employés. Alors que tout semblait aller bien pour Richard en ce moment, c’était l’occasion pour l’épisode de s’amuser un peu et cela s’est présenté sous la forme d’un débat largement trivial dans le monde du codage.
Au début de l’épisode, Hendricks panique lorsqu’il apprend que l’un des « commits » de son nouvel employé — un lot de code écrit — a été créé en utilisant des espaces sur des onglets.
La discussion sur l’utilisation d’onglets ou d’espaces domine la durée de l’épisode. Et, à la fin, cela met même un terme à la relation naissante de Richard avec un employé de Facebook.
« Je ne pense pas que cela fonctionnera. Je suis vraiment désolée. Je veux dire, comme quoi, on va amener des enfants dans le monde avec ça au-dessus de leur tête? Ce n’est pas vraiment juste, tu ne trouves pas? » Hendricks crache de rage.
» Les enfants? »demande Winnie, confus. « Nous n’avons même pas encore couché ensemble. »
» Et devinez quoi? »Richard répond avec colère: « Cela n’arrivera jamais maintenant. Parce qu’il n’y a aucun moyen que je sois avec quelqu’un qui utilise des espaces sur des onglets. »
C’est une scène classique de la « Silicon Valley », située au carrefour de l’hilarité, de la nerdiness et du grincheux profond où le spectacle a construit sa marque de comédie.
Mais, à part la fin de la première vraie romance dans laquelle nous avons vu Richard s’impliquer, qu’est-ce qui se passait ici? Le spectacle donne aux non-codeurs un peu de contexte plus tôt dans l’épisode, nous faisant savoir que les onglets-contre-espaces est un débat de codage largement trivial sur lequel Richard a des opinions névrotiquement fortes.
Voici de quoi parle réellement l’argument.
Le code n’est généralement pas écrit dans des éditeurs tels que Microsoft Word. Au contraire, il est souvent tapé sous forme de texte brut, avec toute la mise en forme créée ligne par ligne.
Et comme l’a expliqué Jamie Zawinski dans un article de blog intitulé « Tabs versus Spaces: An Eternal Holy War » en 2000, le code est généralement formaté en utilisant des retraits et des espaces de différentes tailles, comme ceci:
Les clauses du code les plus en retrait sont généralement subordonnées aux clauses les moins en retrait au-dessus d’elles. Le formatage sert donc plus qu’un but esthétique; il fait partie du langage visuel que les codeurs utilisent pour communiquer.
Mais, historiquement, il y a eu deux façons de créer cet espace: le favori de Richard, tabs, implique moins d’appuis sur les touches (et donc, dans la plupart des cas, moins de caractères à retenir pour le programme informatique), mais est un peu imprécis. Le favori de Winnie, spaces, offre aux codeurs un moyen plus spécifique et littéral de créer leurs indentations. Cependant, il est plus lent à utiliser et utilise plus d’espace de stockage.
Dans son article de blog de 2009 « Mort aux Infidèles de l’espace! » Jeff Atwood représente visuellement la différence:
Les espaces, représentés par des points, sont à gauche. Les onglets, représentés par des flèches, sont à droite.
Aussi trivial que le débat puisse paraître, il fait chaud dans les cercles de codage. (À ce jour, il y a 277 commentaires sur l’article d’Atwood.) Et cela a une certaine importance. Atwood pointe vers une étude de 1984 qui montre que les programmeurs sont beaucoup mieux à lire le code écrit dans le style avec lequel ils sont familiers.
Et lorsque les équipes travaillant sur le code ne sont pas d’accord, cela peut déclencher des luttes intestines, comme le rappellent les deux articles de blog.
Heureusement pour les programmeurs du monde entier, les logiciels plus récents gèrent souvent tous ces problèmes de formatage seuls. Ainsi, moins d’équipes de codage, ou de relations fictives, devraient s’effondrer à cause d’elles.