今後、身につけなければいけないと思っている技術は何ですか?
* 形式検証や自動テスト関連の技術
Vibe CodingやAgentic Codingの発展に伴い、今後ますますAIがコーディングする割合は増えると予想されます。一方私見ですが、AIによるコーディングは想像以上に人間に近いコーディングでした。つまり、形式的な仕様から論理的に等価なコードを生成するというよりは、(LLMなので当然と言えますが)人間のようにパターンを切り貼りしたコードと言えます。大雑把に言えば、AIによるコーディングは極端に安くて早いアウトソーシングという面もあり、仕様の誤解もあれば、バグもあります。ある意味10~20年前にSIerが通った、オフショア開発者と協業し、いかに安く問題のないシステムを開発するかのノウハウと通じるところがあると考えます。このため、AI(アウトソーサー)が書いたコードを効率よく確認するために、自動テストや形式検証といった技術が再び活発になると考えています。私自身ソフトウェア工学の出身であり、こうした分野も学んでいますが、再びこうした分野の最新の研究動向へのキャッチアップやAIによるコーディングへの適用の研究や調査をしたいと考えています。
* 線形/アフィン型システム
Rust言語のアフィン型システムとボローチェッカーは予想以上にうまくいっているように見える一方、(ゲーム開発含め)C++でのメモリ破壊の回避は個人のプログラミング能力に依存しています。上述にも関連し、AIによるコーディングでC++のメモリ破壊のような問題の回避は難しく、C++にRust風の線形/アフィン型システムを持ち込む Safe C++、 Lily、C++ Profiles のような試みが今後重要になると考えています。個人的な興味もあり、線形論理など含めた、こうした型システムの背景技術に興味があります。