私たちに何の借りもない Unix の伝説が、基礎となる AWK コードを修正し続けています
プリンストン大学の教授は、夏の学術的な小康状態の中で自分の時間を見つけて、数か月前に旧友にメールを送りました。ブライアン・カーニハン氏は挨拶し、米国訪問の様子を尋ね、AWK に Unicode サポートを追加できる数百行のコードを送りました。AWK は、彼が 1977 年にベル研究所で Unix 用に構築を手伝ったテキスト分析ツールです。
「私はこれをかなりテストしましたが、明らかにさらなるテストが必要です」とカーニハン氏は、 長年のメンテナであるアーノルド・ロビンス氏がonetrueawkリポジトリへの疑似コミットの一種として投稿した電子メールに書いている。「方法がわかったら、プルリクエストを送信してみます。git をもっと理解できればいいのですが、助けていただいたにもかかわらず、まだ正しく理解できていないので、少し時間がかかるかもしれません。」
Kernighanは、Unix パイプライン機能とシステム間の相互運用性の鍵となる特殊用途の抽出および制御言語であるAWKの「K」です。実行awk
機能 (AWK は言語であり、awk
それを呼び出すコマンド) は、相互運用性の観点から、UNIX 標準仕様と IEEE POSIX 認定の両方にとって重要です。には数え切れないほどのバリエーションがありますawk
が、「One True AWK」 (別名 ) は、nawk
Kernighan の 1985 年の著書『The AWK Programming Language』とその後のインプットに基づいたバージョンです。
カーニハンは、デニス・リッチーと共著した 1978 年の独創的な本『C プログラミング言語』「K&R C」の「K」でもあり、この本はプログラマーの心の中に、ボロボロの紙の形で今も残っています。習氏のルーツはさらに深い。カーニハンはベル研究所で C を訓練し、その作成者であるデニス・リッチーに知識を広めるための本の共同執筆を説得しました。この本は、「唯一の真の中括弧スタイル」、それに伴う終わりのない議論、そして現代のあらゆるプログラミング言語を支える構造を生み出しました。
カーニハンはUnix の名前も挙げ、「Hello, world」のコード例を最初に示しました。彼は、Ars Technica の Richard Jensen と 50 年にわたる Unix の歴史について語りました。
5 月下旬にカーニハン氏が登場した onetrueawk リポジトリは、21 人の寄稿者、46 人の GitHub ユーザーが監視しており、コミットは数か月ごとに出現する比較的静かな場所です。The Registerが指摘したように、カーニハン氏の Unicode 修正が知られるようになったのは、主にComputerphile の YouTube チャンネルでの教授へのインタビューで言及されたためです。
「AWK が ASCII、あるいはおそらく 8 ビット入力でのみ動作し、実際には Unicode をまったく処理しないのはいつも恥ずかしいことです」とカーニハン氏はインタビュアーのバレスフォード教授に語った。「数か月前、私は信じられないほど古いプログラムを使って(笑)時間を費やしました。現時点では、実際に UTF-8 の入出力を処理できるようになっているので、日本語の文字などを認識する正規表現を使用できます。」
現在 80 歳のカーニハン氏は、AWK が CSV ファイルを処理できるようにするために「簡単で汚い」何かを修正したこともインタビューでさりげなく述べています。
コメントを残す