2 ポイント 投稿者 GN⁺ 2024-02-12 | 1件のコメント | WhatsAppで共有
  • AWKで実装されたAhoA Git

    • AWKは単なる1行スクリプト以上のことができる。
    • このプロジェクトは、Gitの内部動作原理とGNU AWKの新機能を探るためのおもちゃ的なプロジェクト。
    • 娯楽と教育目的以外には役に立たないことを意図している。
  • はじめ方

    • gawk バージョン5.0以上が必要で、zlib圧縮には pigz を使用する。
    • GNU coreutils が提供するそのほかの機能を利用する。
    • ほとんどのLinuxシステムで動作するが、BSDやMacではそうではない。
    • 初期化、ファイル追加、ファイル構造の確認などのコマンド使用例が提供されている。
  • 貢献する

    • AWKやGitへの理解向上に役立つあらゆるフィードバックを歓迎する。
  • やることリスト

    • init, add/rm, status, commit, reset, branch, switch, config (読み取り専用), ls-files, cat-file などの機能を実装予定。
    • ネットワーク機能を追加する予定はないため、clonepush 機能はない。

GN⁺の意見

  • このプロジェクトは、技術的好奇心を持つ人にとって、GitとAWKの動作原理を楽しく探究できる機会を提供する。
  • プログラミング言語の新たな可能性を探りたい初級ソフトウェアエンジニアにとって興味深い実験的プロジェクト。
  • AWKとGitへの理解を深めたい人にとって有益な教育資料になり得る。

1件のコメント

 
GN⁺ 2024-02-12
Hacker Newsの意見
  • Awkの魅力:

    • AwkはUnix系システムでよく見かける強力なプログラミング言語である。
    • 主に、パイプされた標準出力(stdout)からテキスト片を抽出するためのワンライナーとして使われる。
    • Awkは汎用的なスクリプト言語として使うことができ、bashより優れている面も多い。
    • Perlの登場時にはshell、awk、sedの優れた機能を組み合わせようとしたが、結局はPerlに対する否定的なイメージのために人々は他の言語へ移っていった。
  • The AWK Programming Language, Second Edition:

    • AWKプログラミング言語の第2版が2023年9月に発売された。
    • 初版は1988年に出版され、オンラインで閲覧できる。
    • 関連する議論へのリンクもある。
  • Awkコード改善の提案:

    • 関数の引数とローカル変数を区別するため、GNU Awkにlet文を追加するパッチが提案されたが、プロジェクトでは却下された。
    • その代わり、GNU Awkの名前を変えたfork版を作るよう勧められた。
  • Awkの有用性:

    • Linuxコマンドラインが最高の開発環境だと主張する際、Awkはその理由の一つとしてよく挙げられる。
    • Awkの基本だけでも多くの作業をこなすことができ、IDEが非効率に感じられることもある。
    • Awkを学びたい人のために、Linux Fest Northwestで講演し、その録画をYouTubeに公開した。
  • Awkを使ったプロジェクト経験:

    • 非常に限られたメモリしかないルーター上で、Awkを使ってWebベースのWikiを作った経験がある。
    • ライブラリに頼れないため、基本的な機能を自分で実装しながら、Wikiの仕組みとAwkの可能性について学んだ。
  • Awkの拡張性:

    • Awkにネットワーク機能を追加する予定はないが、別ディレクトリにあるリポジトリからgit cloneやpushを行うことは可能である。
  • GNUユーティリティの可能性:

    • GNUユーティリティとプログラムだけでも、性能と機能の面で専用ツールを上回るデータベースや処理ツールを作れるのではないかという考えがある。
  • cppawkの活用:

    • cppawkを使えば#includeを利用でき、AWKPATHなしでもファイルに対して相対的に扱える。
    • cppawkがなかった時代に開発されたプロジェクトへ適用すると、前処理済みのプログラムを単一ファイルに「ビルド」できる。
  • Awkのさまざまな活用例:

    • sed-chessやawk-raycasterのようなプロジェクトは、Awkの多様な活用可能性を示している。
  • Awkに関する面白い事実:

    • 「Aho」は日本語で「ばか」を意味する言葉である。