AI coding agentが生成してくるAWKのコードが読めなかったので、改めてAWKを学習した。

プログラミング言語AWK 第2版 - O'Reilly Japan

第2版は一回読んでいただんだけど、全体通して斜め読みしてただけだったので、全然頭に入ってなかった。 なので、本で紹介されているようなものすごい簡単なスニペットを手で書いて動かしてみてる。

thara-playground/awk-playground

プログラミング初心者並みのスニペットにすぎないのだけれど、こういうのでもCopilotの補完なしで書いて動かすのが楽しい。

今後、仕事では複数のAIコーディングエージェントで複数のタスクを同時進行する、みたいなことをしていくだろう。

けど、自分の根源的なプログラミングの楽しさ、みたいなところは不可侵領域である、と改めて確信した。

仕事で自らコードを書く機会がなくなったとしても、自分はプログラミングすることを止めることはないと思うし、自分にとってプログラミングすることの価値を毀損することはないだろう。

お金儲けとかキャリアとか、そのためにプログラミングないしソフトウェア開発を選択した人は、今のAIコーディングエージェントの台頭に脅威を感じるというか、それに追従していかなければ、という強迫観念が強く出てしまうかもしれない。

自分は、金儲けとかキャリアとかに繋がらなくてプログラミングをしていく、という覚悟というか、スタンスが決まった。

AIコーディングの流れを完全に無視するのではなくて、昨今のAIコーディングに対してはLLM servingやAIコーディングエージェントの仕組み自体に興味が湧いてる。

また、自然言語というインプットでは属人性を排除できないので、証明支援系やポリシー言語、可観測性や信頼性などの観点でどうエンジニアリングに落とすか。それをどう、エンジニアリングするか、どう振る舞いを外部から保証・制約するか、にも興味がある。

つまり、どう使いこなすかよりもどうやって支えるかとかどうやって制御するかに目が向いてる感じ。


というわけで(?)、プログラミング言語AWKの続きを読み始めるとする。

プログラミング言語AWKには、どういう意図でこうしたかとか、こういう風にすれば良かった、みたいなことも書いてあるので物語としても楽しい。 AIコーディングエージェントが生成したコードにはこういう物語がないのが、ちょっと寂しい。

コードを通じた、時空間を超えたコミュニケーション。

AIによって将棋が指されるようになっても将棋コミュニティやプロ棋士の価値が(多少は変わったかもしれないが)毀損されないように、プログラミングすること・コードを書くことの価値も残っていくはずだ。