プログラミングを趣味にしている人にとって、いつかはつくりたい憧れのソフトウエアといえば、だいたい2つに絞られる。「独自OS」と「独自プログラミング言語(およびその処理系)」だ。そうしたニーズを反映して、OSもしくはプログラミング言語を1から自作する方法を解説した書籍もある。大きくOS派とプログラミング言語派に分かれる気がするが、自分はどちらかというと後者だ。
これまでこの連載では、対話型AI(人工知能)サービス「ChatGPT」にいくつかのソフトウエアをつくらせてきた。例えば、書籍のバーコードをリーダーで読み取り、その書籍の情報を自動的にExcelファイルに記録するアプリ。私は長期休暇の間、大量の書籍を廃棄したのだが、その際にこのアプリを活用した。何を捨てたかを記録しておけば、万が一また必要になったときに手元にあるかどうかが分かる。
また、人間が出した手をパソコン内蔵カメラで読み取り、じゃんけんをするアプリもつくってみた。AIを利用するアプリをAIが生成するのは、少し不思議な気がする。
以前のChatGPTでは、長いコードを一度に生成できなかったり、複雑なプログラムだと論理が破綻して収拾がつかなくなったりすることがあった。しかし、ChatGPTが利用する大規模言語モデル(LLM)はどんどん進化しており、今ではかなり複雑なプログラムの生成も可能になっている。
幸い、私は有料サービス「ChatGPT Plus」を契約しており、最新モデルの「GPT-5.4 Thinking」を利用できる。このモデルならプログラミング言語をつくれるかもしれない。早速、挑戦してみることにした。
わずか2~3時間で言語処理系が完成
まず、最強のプログラミング言語はどんな特徴を持つかをChatGPTに尋ねてみた。回答は「人間の思考を最も壊さずにソフトウエアへ変換でき、しかも長期運用で破綻しにくい言語」だという。そうした言語をChatGPTがつくれるかどうかを聞いてみたところ、「できます」と自信満々で答え、そのために必要な手順をまとめてくれた。いい感じだ。
言語処理系の実装言語としては「Rust」を採用した。これまでよく使っていた「Python」はプロトタイプの開発には適しているが、処理性能に難がある。どこかの時点でCやC++、Rustといった高い処理性能を実現できる言語に切り替えなければならない。最初からRustを使えば、この問題を避けられる。
開発する言語の名前は、ChatGPTといろいろ議論して「Axyla(アクシラ)」に決めた。名前が決まると愛着がわいてくる。
次のページ
代入がイコールでいいのかこの記事は会員登録で続きをご覧いただけます





