AIは最高級言語になれるのか? -「動いている挙動が正義」から始める設計論- ①

※本記事は、筆者の考えをもとに、生成AI(ChatGPT)と対話しながら構成・文章化したものです。

高級言語とは何か?

一般的に言われる「高級言語」とは、
人間が書きやすいプログラミング言語のことだ。

アセンブリより分かりやすく、
機械語から遠ざけてくれる存在。

C、C++、Python、Ruby――
確かにそれらは高級だ。

だが、それは**あくまで「記述のしやすさ」**の話だ。


高級言語の限界

どれだけ高級な言語でも、
結局やっていることは変わらない。

人間が考えたこと

プログラミング言語

機械語

書く量は減った。
構文は分かりやすくなった。

だが、より高級になればなるほど

・表現力が上がる(できることが増える)
・“正しいっぽい”書き方が増える
・抽象化で 意図が隠れる

結果として、
「何をしているか分かりにくい」が発生する。

にもかかわらず、
その複雑さはすべて「書く側」の責任として押し付けられる。

言語は高級になり、
要求される知識は増え、
守るべき“正しさ”は雪だるま式に増える。

どれだけプログラマーをいじめれば気が済むんだ。

そんな言語、
こちらから願い下げだ。


実際の現場ではどうなっているか

理想の開発は、こうだ。

人間(要求を出す人:ユーザー)

人間(仕様を決める人:SE)

人間(仕様をコードに書く人:プログラマー)

コンパイラ/インタプリタ

機械語

理屈の上では役割は分かれている。

だが現場では、

  • SE兼プログラマーが仕様を書き
  • SE兼プログラマーが実装し
  • 気付けば同じ人が全部やり
  • デバッグもテストも運用も背負う

「書ける SE が正義」
「書けない SE は役に立たない」

そんな歪んだ常識が生まれる。

結果、
SE 兼プログラマーが当たり前になっている。


ここで考えたこと

では、本当に必要なのは何だろう?

新しい言語か?
もっと速い言語か?
もっと短く書ける言語か?

違う。

必要なのは、

仕様をコードに翻訳する役割を、人間から切り離すこと

だ。


私が考える「最高級言語」

ここでようやく、
私が言う「最高級言語」の定義にたどり着く。

最高級言語とは、

仕様だけを書けば、
実装を壊さずに動くものが手に入る仕組み

だ。

コードが美しいかどうかは重要ではない。
重要なのは、

  • 要求通りに動くこと
  • 実運用で壊れないこと

それだけだ。

だが実は仕様書駆動は昔から存在する。

1. なぜ「仕様書駆動」は昔から存在したのに、広まらなかったのか

なぜなら従来の世界では、

  • UML
  • 状態遷移図
  • 業務フロー図
  • DFD
  • インタフェース仕様書
  • 非機能要件定義書
  • テスト仕様書
  • コーディング規約

…などなど、

**「正しく書くための正しい書式」**が山ほどあった。

しかもそれらは、

  • 書き方を覚えるのにコストがかかる
  • 書いても実装とズレる
  • 最終的に「誰も信用しない」

という三重苦だった。

だから現場ではこうなる。

「結局コードが正義だよね」

これは怠慢じゃなくて、合理的な選択だった。


2. 仕様書が“言語”になれなかった理由

仕様書が最高級言語になれなかった最大の理由はこれ:

曖昧さを許容できなかった

仕様書言語は、

  • 曖昧さ=バグ
  • 解釈の余地=失敗

という前提で設計されていた。

だから、

  • 人間が書くには窮屈すぎる
  • 現実の要求(感情・矛盾・例外)を扱えない

結果、

「結局、人間が頭の中で補完する」

という世界から抜け出せなかった。


AIを挟むという発想

私が理想的だと思う最高級言語の形は、これだ。

人間の「やりたいこと」

AI(翻訳)

機械語

だが、これは今はまだ難しい。

そこで私は、
今ある資源を前提にした構成を選ぶことにした。

人間(要求・仕様を決める:SE)

AI(仕様 → 実装の翻訳)

プログラミング言語

機械語

翻訳機を一段増やしただけだ。

だが、この一段が大きい。

結論

最高級言語とは?

  • 構文:自然言語
  • コンパイラ:AI
  • リンカ:GitHub / CI
  • ランタイム:実機・VM

特徴

  • 書き換えコストが低い
  • 言語仕様が進化する
  • 実装がブラックボックスでも成立する

過去に存在しなかったタイプの言語


何が変わるのか

この構成では、

  • 人間は「何をしたいか」を決める
  • AIが「どう書くか」を引き受ける

SE は判断に集中できる。
SE兼プログラマーは「書く人」から解放される。

SEがSEに戻れる。

仕事を奪う話ではない。
役割を正しく分け直す話だ。
これは、

  • プログラミングの終わり
    じゃなくて
  • 設計が主役になる時代の始まり


本章のまとめ

  • 高級言語は「書きやすさ」を解決した
  • 最高級言語は「翻訳」を解決する
  • その翻訳役を AI に任せられる可能性が見えてきた

このブログは、
その可能性を実務に近い形で試した記録である。
どんなに凄い理論でも使えなければ意味が無いから。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です