No hay duda de que la mayoría de los debates sobre las herramientas de programación destilan a la elección personal (por parte del usuario) o al énfasis en el diseño , es decir , optimizar el diseño de acuerdo con los casos de uso particulares (por parte del creador de herramientas). Los editores de texto son probablemente el ejemplo más destacado: un codificador que trabaja en Windows en el trabajo y codifica en Haskell en la Mac en casa, valora la integración multiplataforma y compilador y elige Emacs en lugar de TextMate , etc.
Es menos común que una tecnología recientemente introducida sea genuina, demostrablemente superior a las opciones existentes.
¿Es este el caso de los sistemas de control de versiones (VCS), en particular, VCS centralizado ( CVS y SVN ) versus VCS distribuido ( Git y Mercurial )?
Usé SVN durante unos cinco años, y SVN se usa actualmente donde trabajo. Hace poco menos de tres años, cambié a Git (y GitHub) para todos mis proyectos personales.
Puedo pensar en una serie de ventajas de Git sobre Subversion (y que en su mayor parte resumen las ventajas de distribuir sobre VCS centralizado), pero no puedo pensar en un contraejemplo: alguna tarea (que es relevante y surge en un programador habitual flujo de trabajo) que Subversion funciona mejor que Git.
La única conclusión que he sacado de esto es que no tengo ningún dato, no es que Git sea mejor, etc.
Supongo que existen tales contraejemplos, de ahí esta pregunta.