• # Exemple

    Posté par . En réponse au lien farbfeld : le format d'image le plus simple du monde. Évalué à 6.

    Un exemple sur cette image complexe de 1666 ×ばつ 2500 pixels :

    Spritz

    png2ff < dsc_4010.png > image.ff
    png2ff < dsc_4010.png | bzip2 > image.ff.bz2

    Avec perte :

    • jpg 90% : 759 kB

    Sans perte :

    • png niveau 9 : 6 MB
    • ff compressé bz2 : 8.3 MB
    • ff : 33 MB

    J'aime bien leur manifeste plein de constatations pertinentes. Un extrait en français :

    Nous hébergeons des logiciels de qualité tels que dwm, dmenu, st et bien d'autres, en mettant l'accent sur la simplicité, la clarté et la frugalité. Notre philosophie consiste à garder les choses simples, minimales et utilisables. Nous pensons que cette philosophie devrait s'imposer dans le secteur des technologies de l'information. Malheureusement, la tendance aux logiciels complexes, sujets aux erreurs et lents semble prévaloir dans l'industrie actuelle du logiciel. Nous avons l'intention de prouver le contraire avec nos projets de logiciels.

    [...]

    De nombreux hackers open source sont fiers de réaliser de grandes quantités de code, car ils pensent que plus ils ont écrit de lignes de code, plus ils ont progressé. Et plus ils ont progressé, plus ils sont compétents. Il s'agit simplement d'une illusion.

    La plupart des hackers ne se soucient pas vraiment de la qualité du code. Ainsi, s'ils obtiennent quelque chose qui semble résoudre un problème, ils s'y tiennent. Si ce type de développement logiciel est appliqué au même code source tout au long de son cycle de vie, nous nous retrouvons avec une grand quantité de code, une structure de code incorrecte et une conception défectueuse du système. Cela est dû à un manque de clarté conceptuelle et de cohérence dans le processus de développement.

    La complexité du code est la mère des logiciels obèses, difficiles à utiliser et totalement inconsistants. Avec un code complexe, les problèmes sont résolus de manière sous-optimale, des ressources précieuses sont sans cesse mobilisées, les performances ralentissent au point de cesser et les vulnérabilités deviennent monnaie courante. La seule solution consiste à abandonner l'ensemble du projet et à le réécrire à partir de zéro.

    Mauvaise nouvelle : les réécritures de qualité sont rares, car les hackers aiment les grandes quantités de code. Ils pensent comprendre la complexité du code et qu'il n'est donc pas nécessaire de le réécrire. Ils se considèrent comme des maîtres à penser qui comprennent ce que d'autres ne peuvent espérer saisir. Pour ces personnes, les logiciels complexes sont l'idéal.

    Les idées ingénieuses sont simples. Les logiciels ingénieux sont simples. La simplicité est le cœur de la philosophie Unix. Plus vous avez supprimé de lignes de code, plus vous avez progressé. Plus le nombre de lignes de code dans votre logiciel se réduit, plus vous êtes compétent et moins votre logiciel est mauvais.