viernes, 3 de mayo de 2013

[Libro] The Architecture of Open Source Applications

Los arquitectos observan miles de edificios durante su entrenamiento y estudian las críticas a esos edificios que han hecho los maestros. A diferencia de esto, la mayoría de los desarrolladores de software sólo llegan a conocer bien unos pocos grandes programas –normalmente los que escriben ellos mismos- y nunca estudian grandes programas que se han creado a lo largo de la historia. Como resultado, muchos acaban repitiendo los errores de los demás en lugar de partir de sus éxitos.

Nuestro objetivo es cambiar esto. En estos dos libros, los autores de 48 aplicaciones de software libre explican cómo está estructurado este software y por qué. ¿Cuáles son los grandes componentes de cada programa? ¿Cómo interaccionan? ¿Qué aprendieron sus creadores durante el desarrollo? Respondiendo a estas preguntas, los colaboradores de estos libros proporcionan una visión única de su forma de pensar.

Si eres un desarrollador junior y quieres aprender cómo piensan otros colegas con más experiencia, estos libros pueden ser el lugar desde el que empezar. Si eres un desarrollador intermedio o senior y quieres ver cómo otros compañeros han resuelto complejos problemas de diseño, estos libros pueden serte de ayuda también.

El texto de arriba es la introducción a estos dos volúmenes que viene (en inglés) en su web oficial: http://www.aosabook.org/en/ Lo poco que llevo leído (uno de los artículos sobre el juego Battle of Westnoth) me ha gustado bastante. En él, en pocas páginas, dos de sus desarrolladores explican cómo está diseñado el juego, cómo y porqué diseñaron su arquitectura, y varias decisiones de diseño explicadas. Me resulta especialmente interesante que sean los propios desarrolladores los que den su visión sobre el programa, y den su opinión sobre sus puntos fuertes y sus carencias, y te expliquen con detalle algunos aspectos del mismo. Además de este artículo, también aparecen entre otros programas como Eclipse, CMake, Mercurial, SendMail, Audacity, Moodle, Git o GDB.

Lo mejor es que los libros se pueden leer gratuitamente desde la página oficial, eso sí, sólo la versión online HTML. Si los queremos en formato eBook (Kindle/ePub) o en formato físico podemos comprarlos directamente de la web, o a través de Amazon o Lulu, y donarán gran parte de las ganancias a Amnistía Internacional.