Non c'è dubbio che la maggior parte dei dibattiti sugli strumenti del programmatore si distilla in scelta personale (da parte dell'utente) o enfasi progettuale , cioè , ottimizzando il design in base a casi di utilizzo particolari (da parte del tool builder). Gli editor di testo sono probabilmente l'esempio più importante - un programmatore che lavora su Windows al lavoro e codifica in Haskell sul Mac a casa, valorizza l'integrazione tra più piattaforme e compilatori e quindi sceglie Emacs su TextMate , ecc.
È meno comune che una tecnologia di recente introduzione sia realmente, dimostrabilmente superiore alle opzioni esistenti.
Questo è in effetti il caso dei sistemi di controllo della versione (VCS), in particolare, centralizzato VCS ( CVS e SVN ) rispetto a distribuito VCS ( Git e Mercurial ) ?
Ho usato SVN per circa cinque anni e SVN è attualmente utilizzato dove lavoro. Poco meno di tre anni fa, sono passato a Git (e GitHub) per tutti i miei progetti personali.
Posso pensare a una serie di vantaggi di Git over Subversion (e che per la maggior parte sono astratti rispetto ai vantaggi di VCS distribuiti centralizzati), ma non riesco a pensare ad un solo esempio: qualche attività (che è rilevante e si pone in un normale flusso di lavoro dei programmatori) che Subversion fa meglio di Git.
La conclusione solo che ho tratto da questo è che non ho alcun dato - non che Git sia migliore, ecc.
La mia ipotesi è che tali contro-esempi esistano, quindi questa domanda.