• # Portabilité

    Posté par . En réponse à la dépêche Revue des techniques de programmation en shell. Évalué à 8.

    La gestion de la portabilité est un sujet assez épineux pour du shell. On parle souvent de se contenter de POSIX, il arrive que ce soit assez contraignant pour un intérêt limité.

    Lorsque le code est distribué à l'ensemble de la planète, c'est normal de chercher la plus grande portabilité possible (et donc de choisir POSIX), mais dans bien d'autres cas ce n'est pas aussi clair :

    • la portabilité d'un script est égale à la portabilité du programme le moins portable utilisé par ce script. Par exemple si on crée un script qui va utiliser apt-xapian (et dont c'est la raison d'être), il est inutile de chercher à ce que le script fonctionne sur Solaris, MacOS et git bash pour windows
    • des fois (souvent ?) on a une plateforme cible, si on la connaît je ne vois personnellement pas de problème à la cibler plus particulièrement

    Une autre approche de la portabilité peut être d'utiliser le moins de programmes possible. On peut par exemple créer un script zsh qui n'utilisera jamais le moindre outil GNU. Ça peut simplifier les dépendances (on ne dépend plus que de zsh) tout en ayant des fonctionnalités plus pratiques performantes.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)