• [^] # Re: le mouvement NoSQL ...

    Posté par . En réponse à la dépêche MongoDB 1.4, prêt pour la production. Évalué à 2.

    Le typage valide est une condition nécessaire à la fiabilité du code bien qu'elle ne soit pas suffisante, c'est vrai. Une couverture de tests complète est indispensable pour faire la qualité. Seulement, il y a des choses que tu ne pourras pas faire avec des tests, parce que ce serait trop long. Par exemple, hier j'ai voulu recompiler 'gitit', un wiki correctement conçu, avec la nouvelle version d'une librairie SMTP. Cette dernière venait de changer d'interface. Paf, les types avaient changé et les noms de fonctions aussi. Le compilo m'a directement dit que ça ne passerait pas, inutile de continuer. Sans cette analyse statique, il aurait fallu que je relance toute la couverture de test après coup, et franchement non merci ... En plus, je n'ai pas envie d'écrire de façon systématique des tests destinés à mettre en évidence des erreurs qui peuvent être détectées par une analyse statique.
    Sinon, je manipule régulièrement 3 langages : haskell, ruby et scheme. Ces deux derniers sont très proches, certes. De façon générale, j'écris nettement moins de lignes de code en haskell pour faire la même chose. La vérification statique est poussée et les performances sont incomparables avec les deux derniers. Ça me fait bien réfléchir, après 6 ans de ruby et 3 de rails ...
    Enfin, je ne veux pas juger les développeurs, il y a mille contraintes dans les projets qui peuvent pousser à devoir utiliser telle ou telle techno. Mais je ne me gène pas pour juger les langages, et PHP en l'occurrence, est grossier, car il cumule tous les défauts de tous les langages, sans en avoir la moindre qualité :)