Un livre qui n'a pas l'air trop mal vient de sortir sous le titre "The Architecture of Open Source Applications". Il est composé de 25 chapitres et chaque chapitre détaille un logiciel libre, souvent par un de ses contributeurs majeurs. Chaque application est ainsi décortiqué pour nous en montrer les entrailles. Bref, un excellent voyage du côté obscur du code, ce qu'on a rarement l'occasion de voir.
En prime, le livre est lui-même libre (CC-BY), il est disponible sur Lulu et Amazon et tous les bénéfices sont reversés à Amnesty International. Et vous pouvez bien sûr le lire en ligne :
http://www.aosabook.org/en/index.html
La liste des logiciels (et les auteurs respectifs) :
- Asterisk par Russell Bryant
- Audacity par James Crook
- _The Bourne-Again Shell par Chet Ramey
- Berkeley DB par Margo Seltzer and Keith Bostic
- CMake par Bill Hoffman and Kenneth Martin
- Eclipse par Kim Moir
- Graphite par Chris Davis
- The Hadoop Distributed File System par Robert Chansler, Hairong Kuang, Sanjay Radia, Konstantin Shvachko, and Suresh Srinivas
- Continuous Integration par C. Titus Brown and Rosangela Canino-Koning
- Jitsi par Emil Ivov
- LLVM par Chris Lattner
- Mercurial par Dirkjan Ochtman
- The NoSQL Ecosystem par Adam Marcus
- Python Packaging par Tarek Ziadé
- Riak and Erlang/OTP par Francesco Cesarini, Andy Gross, and Justin Sheehy
- Selenium WebDriver par Simon Stewart
- Sendmail par Eric Allman
- SnowFlock par Roy Bryant and Andrés Lagar-Cavilla
- SocialCalc par Audrey Tang
- Telepathy par Danielle Madeley
- Thousand Parsec par Alan Laudicina and Aaron Mavrinac
- Violet par Cay Horstmann
- VisTrails par Juliana Freire, David Koop, Emanuele Santos, Carlos Scheidegger, Claudio Silva, and Huy T. Vo
- VTK par Berk Geveci and Will Schroeder
- Battle For Wesnoth par Richard Shimooka and David White
# Commentaire
Posté par patrick_g (site web personnel) . Évalué à 10.
J'ai lu les chapitres sur l'écosystème NoSQL et sur LLVM. Comme le nom du livre l'indique ce sont des textes sur l'architecture générale du logiciel. Pourquoi tels ou tels choix ont été effectuées afin de concevoir le truc comme ça et pas autrement. Il y a aussi un petit paragraphe à la fin du style "et si c'était à refaire" qui fait le bilan des choix architecturaux et expliquant, avec le recul, ce qui s'est avéré être une bonne idée ou pas.
C'est très intéressant et, dans le cas de LLVM, on comprend bien à quel point l'architecture est vraiment modulaire par rapport à GCC.
Bref lecture recommandée si un des sujets vous intéresse.
# Si vous avez aimé "Beautiful code" de chez O'reilly
Posté par GeneralZod . Évalué à 10.
vous aimerez celui-ci qui effectivement s'intéresse plutôt à l'aspect architecture logicielle, je me demandais ce que foutait le chapitre sendmail mais c'est juste pour avoir un exemple de ce qu'il ne faut surtout PAS faire.
Mes chapitres préférés: Bash, CMake, Continuous Integration, LLVM, mercurial, Python Packaging, ça vaut le coup d'acheter la version papier et de la laisser trainer au boulot.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.