
Vidéos Google: Git et The Paradox of Choice
Aujourd'hui, j'ai enfin pris le temps de regarder la vidéo de la
conférence donnée par Linus Torvalds à propos de Git dans les locaux de Google. Mon
frère y avait assisté, et m'avait indiqué que ce n'était pas terrible. Et effectivement, ce n'est pas terrible. Presque la moitié du temps, Linus Torvalds dit que CVS c'est pourri, Subversion c'est pourri, que tous les trucs centralisés sont pourris, et qu'en fait, à part Git, tous les trucs distribués sont également pourris. On a parfois l'impression qu'il utilise la technique du « à force de répéter un truc sans argumenter, je vais finir par convaincre les gens ».
En réalité, il avance quand même quelques arguments (heureusement). Par exemple, que l'aspect distribué permet de créer des branches locales sans embêter tout le monde et permet à des développeurs de travailler ensemble sans nécessairement passer par le dépôt central (ce qui peut-être problématique si l'on doit mettre au point une grosse fonctionnalité à plusieurs avant de pouvoir la
committer dans le dépôt central). Il m'arrive effectivement d'utiliser
Quilt pour préparer tranquillement un ou plusieurs patches avec de les committer dans un dépôt Subversion commun.
Ensuite, il avance l'argument de la facilité de
merging. Autant je rejoins totalement Linus sur les difficultés du
merging avec CVS, autant je n'arrive pas à saisir les difficultés de
merging dont il parle avec Subversion. Peut-être est-ce parce que je n'ai jamais travaillé sur des projets aussi volumineux en terme de code que le noyau, mais j'ai le sentiment qu'avec Subversion, le processus de
merging est on ne peut plus simple. La seule difficulté est évidemment de résoudre les conflits quand il y en a, mais j'ai du mal à croire que Git résolve automagiquement les conflits. Bref, j'aimerais bien en savoir plus sur cette fonctionnalité de
merge magique de Git.
(Pour l'anecdote, le processus de
merging est si difficile qu'il m'a fait découvrir
awk : il m'était en effet nécessaire d'écrire des scripts shell pour résoudre des conflits automatiquement et faire d'autres opérations pseudo-automatiques pour rendre le
merging vivable. Depuis, je connais
awk et j'aime ça :-))
Après avoir regardé cette vidéo, je me suis mis à traîner dans les vidéos de confs ayant eu lieu à Google, et je suis tombé sur
The Paradox of Choice - Why More Is Less, que j'ai trouvé vraiment très intéressant. En général, on considère que plus de choix implique plus de liberté et que plus de liberté implique plus de bonheur, de joie de vivre, etc. À partir de quelques exemples et de quelques études, l'orateur essaie de montrer que ce n'est pas toujours vrai. J'ai trouvé le propos souvent assez juste, m'étant moi-même retrouvé dans certains des exemples. Il est assez difficile de résumer cette présentation en quelques lignes, alors je vous invite plutôt à la regarder.
Elle est sous-titrée en anglais, ce qui rend sa compréhension relativement aisée, même si les sous-titres se décalent de plus en plus au fur et à mesure que l'on avance dans la vidéo. Le son est de très bonne qualité et l'orateur a un accent très compréhensible. Seul reproche : on comprend que l'orateur montre de temps en temps des transparents avec des petites bandes dessinées qui font rigoler l'audience, mais en tant que spectateur, on ne les voit malheureusement pas.