• [^] # Re: ça n'a pas changé

    Posté par . En réponse à la dépêche Le Hold-up planétaire dans le cyberespace. Évalué à 2.

    Je la refais en plus lisible (vous pouvez moinsser le post précedent)

    Ah oui très intuitif en effet Obligé d'apprendre le man complet pour pondre une commande. Mais soyons joueur avec un shell python "objet"

    for(i in ls'mon_path):
    if(file.size() >= 150000)
    file.remove();

    Avec ipython tu te retrouves avec un truc du style (je vais pas l'installer et tester pour vérifier)

    for i in (!ls mon_path):
    if ( !"stat --format=%s" + path/+i> "150000"):
    ! rm path+i

    Heureusement que pour ces services basiques python propose des modules appropriés.
    Avec ton shell tu utilises un truc équivalent avec for ou if en guise de commande (si c'est pas un hérésie) ou un méga truc du style
    ls monpath | xargs stat --format=%s" monpath | xargs if ....
    ou encore un find au petit oignons.
    Elle est où l'usine à gaz ?
    Qu'est ce qui est le plus naturel ?

    Rajoutons tous les forks à chaque itération et ca déchire en terme de perf. Et à la prochaine version de l'os le gars qui a pondu la commande change le format de sortie parce qu'il a fait une fôte d'orthographe (stat est un mauvais exemple mais y' en a tellement d'autres surtout pour les novices qui connaissent pas l'ensemble des commandes par coeur) et tu te retrouves avec un beau script à debugger ou plutôt à deverminer à coup de print.
    Avec un shell objet tu a une belle exception lancée qui te dit que la méthode mal orthographiée appelée est obsolète.
    Tu m'as convaincu

    Sinon pour ta remarque sur les objets système je suis d'accord avec toi et c'est pour ca que j'ai déjà posé la question à la cantonnade.