2 Punkte von GN⁺ 2024-02-12 | 1 Kommentare | Auf WhatsApp teilen
  • AhoA Git, in AWK implementiert

    • AWK kann mehr als nur einfache Einzeiler-Skripte.
    • Dieses Projekt ist ein Spielzeugprojekt, um die interne Funktionsweise von Git und neue Funktionen von GNU AWK zu erforschen.
    • Es ist ausdrücklich dafür gedacht, außerhalb von Unterhaltungs- und Bildungszwecken nicht nützlich zu sein.
  • Erste Schritte

    • Erforderlich ist gawk ab Version 5.0; für die zlib-Komprimierung wird pigz verwendet.
    • Die übrigen Funktionen stammen aus den von GNU coreutils bereitgestellten Werkzeugen.
    • Es läuft wahrscheinlich auf den meisten Linux-Systemen, aber nicht auf BSD oder Mac.
    • Es werden Beispiele für Befehle wie Initialisierung, Dateien hinzufügen und die Dateistruktur prüfen bereitgestellt.
  • Mitwirken

    • Jede Unterstützung, die hilft, das Verständnis von AWK oder Git zu verbessern, ist willkommen.
  • To-do-Liste

    • Geplant ist die Implementierung von Funktionen wie init, add/rm, status, commit, reset, branch, switch, config (nur Lesen), ls-files, cat-file usw.
    • Netzwerkfunktionen sind nicht geplant, daher gibt es kein clone oder push.

Meinung von GN⁺

  • Dieses Projekt bietet technisch Neugierigen eine unterhaltsame Möglichkeit, die Funktionsweise von Git und AWK zu erkunden.
  • Es ist ein interessantes experimentelles Projekt für Softwareingenieure am Anfang ihrer Laufbahn, die neue Möglichkeiten von Programmiersprachen ausloten möchten.
  • Für alle, die ihr Verständnis von AWK und Git vertiefen möchten, kann es eine nützliche Lernressource sein.

1 Kommentare

 
GN⁺ 2024-02-12
Hacker-News-Kommentar
  • Der Reiz von Awk:

    • Awk ist eine leistungsstarke Programmiersprache, die auf Unix-artigen Systemen häufig anzutreffen ist.
    • Es wird oft als Einzeiler verwendet, um Textfragmente aus gepipeter Standardausgabe (stdout) zu extrahieren.
    • Awk kann als allgemeine Skriptsprache verwendet werden und ist in vieler Hinsicht besser als bash.
    • Mit dem Aufkommen von Perl wurde versucht, die guten Eigenschaften von shell, awk und sed zu vereinen, doch aufgrund der negativen Wahrnehmung von Perl wechselten die Leute schließlich zu anderen Sprachen.
  • The AWK Programming Language, Second Edition:

    • Die zweite Ausgabe von The AWK Programming Language erschien im September 2023.
    • Die erste Ausgabe wurde 1988 veröffentlicht und ist online zugänglich.
    • Ein Link zu einer zugehörigen Diskussion wird bereitgestellt.
  • Vorschlag zur Verbesserung von Awk-Code:

    • Es wurde ein Patch vorgeschlagen, der GNU Awk eine let-Anweisung hinzufügt, um Funktionsparameter und lokale Variablen zu unterscheiden, doch das Projekt lehnte ihn ab.
    • Stattdessen wurde empfohlen, eine Fork-Version von GNU Awk unter einem anderen Namen zu erstellen.
  • Die Nützlichkeit von Awk:

    • Wenn behauptet wird, dass die Linux-Kommandozeile die beste Entwicklungsumgebung sei, wird Awk oft als einer der Gründe genannt.
    • Schon mit den Grundlagen von Awk lässt sich viel erledigen, sodass sich eine IDE ineffizient anfühlen kann.
    • Für Menschen, die Awk lernen möchten, wurde auf dem Linux Fest Northwest ein Vortrag gehalten und die Aufzeichnung auf YouTube hochgeladen.
  • Projekterfahrung mit Awk:

    • Es gibt die Erfahrung, auf einem Router mit stark begrenztem Speicher mithilfe von Awk ein webbasiertes Wiki erstellt zu haben.
    • Da man sich nicht auf Bibliotheken verlassen konnte, wurden grundlegende Dinge selbst implementiert, wodurch man lernte, wie ein Wiki funktioniert und was mit Awk möglich ist.
  • Die Erweiterbarkeit von Awk:

    • Es gibt zwar keine Pläne, Awk Netzwerkfunktionen hinzuzufügen, aber git clone oder Pushes von Repositories in anderen Verzeichnissen sind möglich.
  • Das Potenzial von GNU-Utilities:

    • Es entsteht der Eindruck, dass sich allein mit GNU-Utilities und -Programmen Datenbanken und Verarbeitungstools bauen lassen, die spezialisierte Werkzeuge bei Leistung und Funktionsumfang übertreffen.
  • Einsatz von cppawk:

    • Mit cppawk kann #include verwendet werden, und es ist relativ zur Datei statt zu AWKPATH.
    • Wendet man es auf Projekte an, die vor der Existenz von cppawk entwickelt wurden, kann man das vorverarbeitete Programm zu einer einzigen Datei „bauen“.
  • Verschiedene Einsatzbeispiele für Awk:

    • Projekte wie sed-chess und awk-raycaster zeigen die vielfältigen Einsatzmöglichkeiten von Awk.
  • Interessante Tatsache zu Awk:

    • „Aho“ ist im Japanischen ein Wort, das „Idiot“ bedeutet.