1 points par GN⁺ 3 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Le gonflement des logiciels désigne l’évolution qui a fait passer des applications tenant autrefois sur une simple disquette à des logiciels exigeant aujourd’hui des gigaoctets de stockage et de longs temps d’attente
  • La disquette 1,44 Mo n’est pas une contrainte ludique, mais un critère de sobriété, fondé sur l’idée qu’un outil à usage unique peut parfaitement rester très petit
  • Les petits logiciels visent un téléchargement rapide, une exécution immédiate, une faible consommation de mémoire et de CPU, une meilleure autonomie et la prise en charge des anciens systèmes
  • Le texte insiste sur le principe d’utiliser uniquement du natif, d’éviter le gonflement des dépendances, et de faire en sorte que chaque ligne de code ait une raison d’exister
  • Le badge Floppy est attribué aux applications dont la taille totale de téléchargement est inférieure à 1,44 Mo, et l’essentiel n’est pas la nostalgie mais une discipline de fabrication qui accorde de l’importance à chaque octet

Les critères des petits logiciels

  • Avec le gonflement des logiciels, des applications qui tenaient autrefois sur une simple disquette exigent désormais des gigaoctets de stockage, de longs temps d’attente et une patience excessive
  • La disquette 1,44 Mo est utilisée non comme une limite amusante, mais comme un critère de sobriété
  • Si des logiciels capables de faire tourner des entreprises entières tenaient autrefois dans ce volume, les outils modernes, ciblés sur un usage unique, peuvent eux aussi rester très petits
  • Les petits logiciels visent à se télécharger rapidement, à s’exécuter immédiatement et à réduire les chargements inutiles
  • Ils respectent l’appareil de l’utilisateur en incluant une faible consommation de mémoire et de CPU, une meilleure autonomie et la prise en charge des anciens systèmes
  • Ils reposent sur le principe d’utiliser uniquement du natif, d’éviter le gonflement des dépendances, et d’exiger que chaque ligne de code ait une raison d’exister
  • Un logiciel qui fait bien une seule chose concentre mieux ses fonctionnalités, réduit les bugs et peut durer plus longtemps

Mesure et intention

  • Le badge Floppy est attribué aux applications dont la taille totale de téléchargement est inférieure à 1,44 Mo, soit la capacité d’une disquette standard 3,5 pouces
  • La taille affichée sur le disque est basée sur la taille du binaire universel rapportée par la plateforme de distribution du développeur
  • La taille réellement téléchargée sur l’appareil peut être plus petite que la taille affichée, car le platform thinning ne livre que les éléments nécessaires au matériel visé
  • L’essentiel n’est pas la nostalgie de la disquette elle-même, mais une discipline de fabrication selon laquelle chaque octet compte, les contraintes nourrissent la créativité et les logiciels doivent rester légers
  • Comme exemple associé, le texte renvoie au billet sur la création du jeu primé de 39 Ko YOYOZO

1 commentaires

 
GN⁺ 3 시간 전
Avis sur Lobste.rs
  • Plutôt d’accord dans l’ensemble, mais cela dépend énormément de ce qui est déjà installé sur le système. Un binaire à liaison dynamique écrit en C ou un script Python peuvent facilement tenir dans la limite, car leur runtime est présent sur presque tous les ordinateurs
    À l’inverse, si l’on fait du lien statique pour la portabilité ou qu’on utilise un langage dont le runtime est moins courant, comme Janet, on dépasse largement ce seuil
    • Je suis assez d’accord. À moins de créer une application native reposant sur des dépendances raisonnables, comme un toolkit UI que l’on peut supposer déjà présent sur le système d’exploitation cible, il est difficile de respecter cette contrainte de taille. Même un libc « petit » fait généralement plus de 0,5 Mo, et si l’on veut faire des requêtes réseau, LibCURL représente aussi plusieurs centaines de Ko, BearSSL semble du même ordre
      Mon projet Decker essaie de réduire les dépendances externes, mais pour la portabilité il dépend de SDL et SDL_image, fournis avec lui. La version Apple Silicon actuelle pèse 6 Mo compressée, dont environ 4,6 Mo pour les dylib SDL et SDL_image. La build web démarre autour de 0,5 Mo si l’on part du principe que l’utilisateur dispose déjà d’un navigateur HTML5 raisonnablement récent, mais si l’on inclut aussi le navigateur, les dépendances montent à plusieurs centaines de Mo
      Les fichiers deck bruts pour des applications et bibliothèques utiles peuvent ne faire que quelques dizaines de Ko, si le runtime est déjà là. Love2d est dans une situation comparable, reposant lui aussi sur SDL et plusieurs composants intégrés, avec 10 Mo compressés et 25 Mo décompressés. Avec Love2d, on peut créer des applis utiles de quelques dizaines de Ko avec seulement des scripts Lua et des graphismes vectoriels, mais là encore, c’est uniquement si le runtime est déjà installé
      Si les ressources de développement étaient illimitées, éviter la dépendance à SDL serait un objectif élégant, mais pour la plupart des projets basés sur SDL, cela conduirait probablement à abandonner complètement le support des systèmes d’exploitation moins populaires plutôt que de gagner seulement quelques Mo sur l’installateur. Que l’on considère cela comme de la bloatification ou non dépendra du point de vue
  • Éviter que les logiciels grossissent est une bonne chose, mais la plupart des grosses applications le sont davantage à cause des fichiers de ressources que du logiciel lui-même. Les résolutions d’affichage ont augmenté et l’on accorde plus d’attention à l’expérience utilisateur qu’autrefois
    Avant, le tout-texte pouvait sembler raisonnable, mais c’est rare aujourd’hui. Dans la liste des motivations avancées, seule la première est directement liée à la taille réelle du binaire brut ; les autres ressemblent davantage à des avantages séparés, agréables à avoir
    En plus, ce site lui-même utilise environ 200 000 octets pour transmettre un manifeste de 1 600 octets
  • J’ai joué à des jeux sortis sur plus de 4 disquettes, et j’ai connu l’époque où ils étaient parfois accompagnés d’un manuel papier de 100 pages contenant tous les dialogues. Je n’ai absolument aucune envie de voir ce mode de fonctionnement revenir
    • L’idée de devoir assembler un jeu mentalement à partir de trois supports différents a presque quelque chose de cool :-) C’était quoi ton jeu préféré à l’époque ?
  • Ça me paraît familier https://fosstodon.org/@dillo/113913161923323567
    https://cdn.fosstodon.org/media_attachments/files/…
  • Ayant passé du temps à installer des jeux sur disquette quand j’étais enfant, j’ai une certaine nostalgie, mais ce n’est que de la nostalgie pure
    Aujourd’hui, les utilisateurs ne remarquent pas si un téléchargement fait 1,44 Mo, 2,88 Mo ou plus, et ils ne perçoivent pas non plus la différence au moment d’exécuter le programme
  • Dire que « les applis qui tenaient autrefois sur une seule disquette exigent maintenant plusieurs Go de stockage, plusieurs minutes et beaucoup trop de patience » est exagéré
    Il existait bien quelques applications tenant sur une seule disquette, mais la plupart des logiciels sérieux des années 80 et 90 étaient distribués sur plusieurs disquettes. Par exemple, Microsoft Word v2.0 sur 7 disques avec 2 disques supplémentaires, Lotus 1-2-3 sur 13 disquettes, et même Doom était sur 4 disquettes
    L’idée de tenir sur une seule disquette n’était pas courante même à l’époque des disquettes, et tout le monde savait que les logiciels plus gros se distribuaient simplement sur plusieurs disquettes
  • Je me souviens de l’époque où l’on pouvait faire tenir une distribution Linux sur une seule disquette. Tom's RootBoot Disk était excellent comme système de récupération
  • Attendez, vous êtes en train de dire qu’on ne devrait pas mettre 2 Ko de citation de Lovecraft dans chaque binaire ?
  • J’utilise cet écran de veille depuis une ou deux semaines et il est très agréable. C’est à moitié des grille-pain volants, à moitié cette impression de « oh, je connais cette disquette »
  • Ma famille regardait récemment un jeu télévisé avec une question sur la capacité de stockage d’une disquette standard. L’enfant de 23 ans n’avait jamais vu de disquette de sa vie, alors qu’il a bien plus de connaissances informatiques que la moyenne des gens de son âge