• [^] # Re: petit plus

    Posté par . En réponse au journal Devdays, Le Futur de microsoft, je suis rassuré. Évalué à 2.

    Oui, et quid des 26500 autres exemples que je pourrais te sortir ?

    Je répondais juste pour cet exemple. Si tu m'en sors 26500 autres (et si j'en avais le temps, mais, au lieu de ça, je moule sur linuxfr...), je pense qu'on pourrait trouver une solution pour chacun.

    Mais justement, ces commandes shell sont petites, ce sont des commandes generiques.

    Je ne sais pas, je n'ai pas vu le code, mais cela dépasse un peu ce qu'un shell est censé faire (p.ex. cp et mv sont des programmes, pas des commandes).

    Justement non, c'est le truc.

    Le commande sort, elle n'a aucune idee a l'avance que l'objet qu'elle va recevoir a une propriete nommee "date" ou "version", sort est un outil generique et quand tu lui passe l'argument "date", alors il va aller le chercher sur l'objet et faire le tri avec ca.

    Je n'ai jamais dit que sort doit savoir à l'avance la liste des attributs disponibles. Imagine que le ls modifié envoie la ligne "taille version nom droits ..." suivi de lignes contenant chacune la valeur de ces attributs pour les fichiers cibles (en clair, il indique le format des données juste avant les données).
    Le programme sort commence donc par voir arriver "taille version nom droits ..." et comprends que les attributs seront "taille", "version", "nom", etc., et pourra lire les données qui suivent.

    « Small is beautiful » est le leitmotiv des outils unix : pas la peine de compliquer, chacun sa spécialité. Si je fais un ls modifié, un sort modifié, etc., je complique ces programmes. Alors que si je fais juste quelques filtres entre eux, je n'ai besoin que de programmes simples. Ok, ma ligne de commande est plus longue, mais si je m'en sers souvent, je fais des scripts, des fonctions.

    De plus, si je tiens à faire ces programmes modifiés, je peux les faire simplement sans pour cela modifier le shell ou, pire, le noyau.

    « Pouf, ah puh magie ! »