miércoles, 30 de abril de 2014

Qué es un sistema de control de versiones y por qué es tan importante

Darkmoon Photography

Viajar atrás en el tiempo siempre ha sido una idea que ha fascinado a la humanidad y después de entender qué es un sistema de control de versiones, sabrás que al menos en el desarrollo de software es posible.


Gracias a todas las herramientas que la tecnología nos provee, cada día el desarrollo de software se vuelve más eficiente. Existe una gran variedad de ellas, pero hay una que se destaca entre todas y que le da al desarrollador la capacidad de gestionar de una manera sencilla y oportuna sus proyectos: un sistema de control de versiones.


Un sistema de control de versiones es una herramienta que registra todos los cambios hechos en uno o más proyectos, guardando así versiones del producto en todas sus fases del desarrollo. Las versiones son como fotografías que registran su estado en ese momento del tiempo y se van guardando a medida que se hacen modificaciones al código fuente.


Un poco de contexto


Antes de la masificación de los sistemas de control de versiones, se solían guardar los hitos (una especie de versión) del proyecto en archivos comprimidos y medios de almacenamiento como diskettes y CD’s. ¿Se imaginan lo insostenible que resultaba esta práctica en proyectos de gran envergadura?. Los sistemas de control de versiones nacen de la necesidad de solventar y facilitar este tedioso proceso.


Para un desarrollador esta herramienta es muy valiosa porque permite viajar atrás en el tiempo (hacer rollback) si los cambios aplicados no resultaron de la manera que se esperaba, pudiendo restaurar en cualquier momento una versión previa. Es como un respaldo permanente. Hoy en día son usados no solo por desarrolladores independientes sino también por startups y grandes corporaciones. Es que tener la posibilidad de volver atrás no tiene precio.


Algunos de los sistemas de control de versiones más famosos son Subversion (también conocido como Svn), Git y Mercurial.


Subversion


Fue lanzado en el año 2000 bajo una licencia Apache/BSD y su última versión estable fue liberada en febrero de este mismo año. Subversion es uno de los sistemas más legendarios, sin embargo su uso ha ido decreciendo con el paso de los años. Hay quienes afirman que está cerca del final de su ciclo de vida pero todavía miles de empresas lo usan en el día a día.



Git


Fue desarrollado nada más y nada menos que por Linus Torvals, el mismo padre del kernel Linux, en el año 2005. Git surge como alternativa a BitKeeper, un control de versiones privativo que usaba en ese entonces para el kernel. Es liberado bajo una licencia GNU GPLv2 y su última versión estable fue publicada a inicios de Abril de este año. Se ha convertido en uno de los más usados alrededor del mundo.


Mercurial


Este proyecto nació en 2005 y su desarrollo comenzó a pocos días del de Git, por esto y por algunas similitudes en sus características es que muchos los consideran sistemas hermanos. Mercurial fue desarrollado por Matt Mackall, y al igual que Linus, Matt buscaba una alternativa a BitKeeper para el control del versiones del kernel Linux. También es liberado bajo una licencia GNU GPL v2 y su última versión estable fue publicada en Abril de este mismo año.


Subversion es considerado el abuelo de los sistemas de control de versiones; es centralizado, lento y más pesado que sus sucesores. Git y Mercurial por el contrario son los jóvenes de la generación de relevo; distribuidos, rápidos y ligeros, acordes a las exigencias de hoy en día.


Al final de la historia el proyecto Linux se decidió por Git, sin embargo no podemos dudar que los tres sistemas son de gran calidad y de muchísima utilidad en el desarrollo de software, sin olvidar que también son open source y gratuitos.


Así que ya sabes, si eres desarrollador y aún no te has animado a probar un sistema de control de versiones, no esperes más, es el momento de empezar.




















from Bitelia http://ift.tt/1pOCfKz

via IFTTT

No hay comentarios.:

Publicar un comentario