• [^] # Re: Presque d'accord ...

    Posté par (site web personnel) . En réponse à la dépêche Revue des techniques de programmation en shell. Évalué à 4.

    Sinon juste un petit truc : avant de vous lancer comme des fous dans l'awk, le join paste et consort ... il est bien souvent beaucoup plus judicieux d'utiliser des langages plus adaptés comme le python, le ruby le perl (par exemple ...)
    Même si cela ressemble a un fusil pour tuer les mouches, dans la durée les langages de scripts + une petite base comme sqlite sont plus facile à utiliser, a debugger et à modifier que du shell.
    Voire même du fichier ascii a plat comme intermédiaire.

    Je trouve que la question suffisamment subtile pour ne pas recevoir une réponse tout à fait tranchée. Bien-sûr utiliser un vrai langage et une vraie base de données a de gros avantages, mais a aussi quelques inconvénients.

    L'inconvénient le plus important de cette approche est que cela demande un effort de déboguer les I/O dans la base de données alors que dans la version "zen du shell" il suffit de débrancher un tube pour voir ce qui en sort. De plus l'opérateur de composition de tubes (le |) encourage une structuration très claire du programme et n'a pas toujours d'équivalent dans les autres langages de programmation. (À part bien sûr le |> de OCaml!)

    Ceci dit bien connaître (削除) OCaml (削除ここまで) un autre langage comme Python, Perl ou Ruby est bien-sûr un avantage énorme pour développer rapidement des traitements pas encore existants en shell.

    Néanmoins, bien connaître awk est tout de même une compétence dont il serait dommage de se passer quand on utilise un système UNIX.