No hay duda de que la mayoría de los debates sobre las herramientas de programación destilan a elección personal (por el usuario) o énfasis en diseño , que es , optimizando el diseño de acuerdo con los casos de uso particulares (por el creador de herramientas). Los editores de texto son probablemente el ejemplo más destacado: un programador que trabaja en Windows en el trabajo y codifica en Haskell en el Mac en casa, valora la integración multiplataforma y del compilador, por lo que elige Emacs en lugar de TextMate , etc.
Es menos común que una tecnología recién introducida sea genuina y demostrablemente superior a las opciones existentes.
Este es el caso de hecho con los sistemas de control de versiones (VCS), en particular, centralized VCS ( CVS y SVN ) versus distribuido VCS ( Git y Mercurial ) ?
Usé SVN durante aproximadamente 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, son ventajas abstractas de la distribución sobre VCS centralizado), pero no puedo pensar en un ejemplo contrario: alguna tarea (que es relevante y surge en un flujo de trabajo habitual de los programadores) que Subversion hace mejor que Git.
La conclusión única que he sacado de esto es que no tengo ningún dato, no es que Git sea mejor, etc.
Mi conjetura es que tales contra-ejemplos existen, de ahí esta pregunta.