Il est une tradition dans le monde du développement de clamer haut et fort qu'il ne faut pas réinventer la roue. Que lorsqu'une librairie existe et qu'elle répond au moins partiellement à nos besoins, il est stupide de vouloir écrire sa propre librairie. Mais comme l'a souligné Jeff Atwood dans un récent billet, il faudrait plutôt dire qu'il ne faut pas réinventer la roue, à moins que votre intention est d'en apprendre plus sur les roues. Prenons le cas de Stato, mon framework PHP sur lequel je m'acharne depuis maintenant 5 ans. On pourrait tout à fait me dire (et d'ailleurs on ne s'est pas privé de le faire) : pourquoi fais-tu ça ? Il y a des dizaines de frameworks PHP, pourquoi réinventer la roue ? La réponse est pourtant simple : parce que cela m'a permis d'apprendre énormément, de devenir un bien meilleur programmeur. Et parce qu'aucun outil au monde ne sera jamais parfait, il est toujours possible de faire mieux, ou au moins d'apprendre en essayant. En fait, le seul cas où il vaut mieux ne pas chercher à réinventer la roue, c'est lorsque vous avez des dealines, c'est tout. Et cela s'appelle le pragmatisme. Mais s'il vous vient l'envie le soir au coin du feu de coder quelque chose qui a déjà été fait des millions de fois, juste pour le plaisir de coder ou de chercher à faire un peu mieux que l'existant, pourquoi vous en empêcher ?