2 points par GN⁺ 2024-02-12 | 1 commentaires | Partager sur WhatsApp
  • AhoA Git implémenté en AWK

    • AWK peut faire plus que de simples scripts d’une ligne.
    • Ce projet est un projet ludique visant à explorer le fonctionnement interne de Git et les nouvelles fonctionnalités de GNU AWK.
    • Il est conçu pour n’être utile à rien d’autre qu’au divertissement et à l’apprentissage.
  • Pour commencer

    • gawk version 5.0 ou supérieure est requis, et pigz est utilisé pour la compression zlib.
    • Le reste des fonctionnalités fournies par GNU coreutils est utilisé.
    • Il peut fonctionner sur la plupart des systèmes Linux, mais pas sur BSD ou Mac.
    • Des exemples de commandes sont fournis pour l’initialisation, l’ajout de fichiers, l’inspection de la structure des fichiers, etc.
  • Contribuer

    • Toute contribution aidant à approfondir la connaissance d’AWK ou de Git est la bienvenue.
  • Liste des tâches

    • Mise en œuvre prévue de fonctionnalités telles que init, add/rm, status, commit, reset, branch, switch, config (lecture seule), ls-files, cat-file, etc.
    • Aucune fonctionnalité réseau n’est prévue, il n’y aura donc ni clone ni push.

L’avis de GN⁺

  • Ce projet offre aux personnes animées par la curiosité technique une façon amusante d’explorer le fonctionnement de Git et d’AWK.
  • C’est un projet expérimental intéressant pour les ingénieurs logiciels débutants qui souhaitent explorer de nouvelles possibilités des langages de programmation.
  • Il peut constituer une ressource pédagogique utile pour celles et ceux qui veulent approfondir leur compréhension d’AWK et de Git.

1 commentaires

 
GN⁺ 2024-02-12
Commentaires sur Hacker News
  • Le charme d’Awk :

    • Awk est un langage de programmation puissant, couramment présent sur les systèmes de type Unix.
    • Il est surtout utilisé sous forme de commandes en une ligne pour extraire des fragments de texte depuis une sortie standard (stdout) passée en pipe.
    • Awk peut aussi servir de langage de script généraliste, avec de nombreux avantages par rapport à bash.
    • Avec l’arrivée de Perl, l’idée était de réunir les bons côtés de shell, awk et sed, mais la perception négative de Perl a finalement poussé les gens vers d’autres langages.
  • The AWK Programming Language, Second Edition :

    • La deuxième édition de The AWK Programming Language est sortie en septembre 2023.
    • La première édition a été publiée en 1988 et reste accessible en ligne.
    • Un lien vers une discussion associée est fourni.
  • Proposition d’amélioration du code Awk :

    • Un patch proposant d’ajouter une instruction let à GNU Awk pour distinguer les paramètres de fonction des variables locales a été soumis, mais rejeté par le projet.
    • À la place, il a été recommandé de créer une version forkée de GNU Awk sous un autre nom.
  • L’utilité d’Awk :

    • Quand on affirme que la ligne de commande Linux est le meilleur environnement de développement, Awk est souvent cité comme l’une des raisons.
    • Même en ne connaissant que les bases d’Awk, on peut accomplir beaucoup de choses, au point que les IDE peuvent sembler inefficaces.
    • Pour ceux qui veulent apprendre Awk, une présentation a été donnée à Linux Fest Northwest et son enregistrement a été mis sur YouTube.
  • Retour d’expérience sur un projet avec Awk :

    • Il y a eu l’expérience de créer un wiki web avec Awk sur un routeur disposant d’une mémoire extrêmement limitée.
    • Comme il était impossible de dépendre de bibliothèques, il a fallu réimplémenter les éléments de base, ce qui a permis de mieux comprendre le fonctionnement d’un wiki et les possibilités d’Awk.
  • L’extensibilité d’Awk :

    • Il n’est pas prévu d’ajouter des fonctionnalités réseau à Awk, mais il est possible de faire un git clone ou un push depuis des dépôts situés dans d’autres répertoires.
  • Le potentiel des utilitaires GNU :

    • Il y a l’idée qu’avec les seuls utilitaires et programmes GNU, on pourrait construire des bases de données et des outils de traitement surpassant des outils spécialisés en termes de performances et de fonctionnalités.
  • Utilisation de cppawk :

    • Avec cppawk, on peut utiliser #include, et cela fonctionne relativement au fichier sans AWKPATH.
    • Appliqué à des projets développés avant l’existence de cppawk, cela permet de « construire » un programme prétraité en un seul fichier.
  • Divers exemples d’usage d’Awk :

    • Des projets comme sed-chess et awk-raycaster montrent la diversité des usages possibles d’Awk.
  • Fait amusant lié à Awk :

    • « Aho » est un mot japonais qui signifie idiot.