Não há dúvida de que a maioria dos debates sobre as ferramentas do programador destila a escolha pessoal (pelo usuário) ou a ênfase no design , ou seja , otimizar o design de acordo com casos de uso específicos (pelo criador da ferramenta). Os editores de texto são provavelmente o exemplo mais proeminente - um codificador que trabalha no Windows no trabalho e codifica em Haskell no Mac em casa, valoriza a integração entre plataformas e compiladores e escolhe o Emacs em vez do TextMate etc.
É menos comum que uma tecnologia recém-introduzida seja genuinamente, comprovadamente superior às opções existentes.
Este é de fato o caso dos sistemas de controle de versão (VCS), em particular, VCS centralizado ( CVS e SVN ) versus VCS distribuído ( Git e Mercurial )?
Eu usei o SVN por cerca de cinco anos, e atualmente o SVN é usado onde trabalho. Há pouco menos de três anos, mudei para o Git (e GitHub) para todos os meus projetos pessoais.
Eu posso pensar em várias vantagens do Git sobre o Subversion (e que na maioria das vezes abstraem das vantagens do VCS centralizado), mas não consigo pensar em um contra-exemplo - alguma tarefa (que é relevante e surge nos programas habituais dos programadores) workflow) que o Subversion se sai melhor que o Git.
A única conclusão que tirei disso é que não tenho dados - não que o Git seja melhor etc.
Meu palpite é que tais contra-exemplos existem, daí esta questão.