【好奇心のオトモ:第5回】AIと会話できるのってなんで?コンピュータと言葉の70年
こんにちは、G’sスタッフ加納です。
コンピュータの世界を、身近な「なんで?」からのぞいてみるシリーズ「好奇心のオトモ」。
今回のテーマはプログラミング言語、つまりコンピュータとコミュニケーションをとるための「言葉」の歴史を紐解いていきたいと思います。
【第5回】AIと会話できるのってなんで?コンピュータと言葉の70年
いまやみなさんがご存じの通り、AIに「こういうアプリが作りたい」と日本語で話しかけると、それっぽいものが1分経たずしてできあがってくる時代。
でも、よく考えると不思議じゃありませんか?
AIを動かしているコンピュータって、なんで日本語がわかるんでしょう?
コンピュータがわかるのは、0と1だけ
先に結論を言ってしまうと、そもそもコンピュータは日本語がわかりません。英語もわかりません。
というより、私たちが「言葉」と呼んでいるものは、ひとつもわかりません。
コンピュータの中で起きているのは、電気が流れているか、流れていないか。ものすごく乱暴にまとめると、それだけです。
だから、コンピュータが直接受け取れる命令は、0と1がずらっと並んだものになります。これを「機械語」と呼びます。命令だけでなく、扱うデータもすべて0と1です。
11100011 10000010 10111000
11100011 10000011 10111100
11100011 10000010 10111010
こんな調子のものが、延々と続くわけです。(ちなみにこちらは「ジーズ」と書いてあります)
人間が読み書きするものとしては、なかなかの過酷さですよね。
でも1940年代から50年代のはじめごろまで、プログラミングというのは基本的にこれか、これに毛が生えたようなもの(アセンブリ言語)で行われていました。
当時のプログラマーは、その作業を人間の発明力が要る創造的な技だと考えていた、という記録が残っています。
ただ、しんどかったのも確かなようで、後に登場するプログラミング言語・FORTRANを作ったジョン・バッカスは、そもそもの動機のひとつが「アセンブリ言語の退屈な作業が嫌だったこと」だったと振り返っています。
あいだに立っている「翻訳係」
では、なぜいまのプログラムは、人間に読める文字で書けるのでしょうか。
答えはシンプルで、あいだに翻訳する係がいるからです。
人間に読みやすい言葉でプログラムを書いておいて、それを0と1に訳してからコンピュータに渡す。
この翻訳を担当するのが、「コンパイラ」と呼ばれるプログラムです。
書いたものを先にまとめて訳しておく翻訳者、というイメージが近いでしょうか。
その場でひとつずつ訳しながら進める同時通訳タイプもあって、そちらは「インタプリタ」と呼ばれます。
この翻訳係がいてくれるおかげで、プログラムを書く人は、機械の都合をいちいち気にしなくてよくなりました。
データをメモリのどこに置くか、命令をどの順番でCPUに渡すか。そういう機械側の事情は翻訳係に任せて、人間は「やりたいこと」のほうを書けばいい。
そうなると、欲が出てきます。
翻訳してもらえるなら、もっと人間の言葉に近い書き方でもいいんじゃないか。実際、プログラミング言語はそうやって、少しずつ人間側に寄ってきました。
すると今度は、言語ごとに「どれくらい人間寄りか」の幅が出てきます。この幅を言い表すのが、「高水準言語(高級言語)」、「低水準言語(低級言語)」という呼び方です。
人間に近いほうが高水準、機械語やアセンブリ言語のように機械に近いほうが低水準になります。
高級・低級と聞くと、つい上等か劣っているかの話に聞こえますが、そうではありません。ここでの「高い・低い」は、ハードウェアからどれだけ離れているか。
偉さではなく、機械からの距離を表しています。しかもこの距離は、何と比べるかで変わります。要するに、ものさしの目盛りのようなものなんですね。
70年かけて、言葉は人間に近づいてきた
さて、ここからが本題です。
このものさしを、時間の流れに沿って眺めてみましょう。
話は1950年代のはじめにさかのぼります。
この時点で、翻訳係の仕組みそのものは、もう動きはじめていました。ただし、翻訳係に渡せるのは記号や数式です。
ここで、この翻訳係の仕組みもう一段上げようとした人がいます。
このシリーズでも一度登場した、グレース・ホッパー。第1回で、「バグ」という言葉を語り継いだ人として紹介した彼女です。
彼女が提案したのは、翻訳係に渡す言葉を、記号ではなくふつうの英語の単語にできないか、ということでした。
すると、すぐに反対されます。理由は当然、コンピュータは英語の単語を理解できないから。
これに対する返しが、私はとても好きです。
彼女は、コンピュータが何かを理解するなんて期待していない、自分がやろうとしているのはビットパターンを照合することだけだ、という趣旨のことを言っています。
翻訳係が英語を「わかる」必要はない。英語の単語と機械語を突き合わせる表さえあればいい、というわけです。
この案が受け入れられるまでには時間がかかり、正式な提案書が書けたのは1955年1月のことでした。そうして生まれたのが「FLOW-MATIC」という言語で、英語風の文で書ける最初のデータ処理言語になりました。さらにその流れが、COBOLにつながっていきます。
「Grace Hopper and UNIVAC」via Wikimedia Commons / CC BY 2.0
コンピュータとコミュニケーションするための言葉、プログラミング言語は、ここからさらに伸びていきます。
1957年 FORTRAN 数式にそっくりな書き方で、科学技術計算が書けるように
1950年代末 COBOL 英語の文に近い書き方で、事務処理が書けるように
1960年代 BASIC 初心者や学生でも対話的に書けるように
1972年 C ハードウェアも触れるけれど、人間の考え方でも書けるように
1991年 Python 読みやすさそのものを設計の中心に
新しい言語が出るたびに、書き方は少しずつ人間の言葉に近づいてきました。
逆方向、つまり「もっと機械に近い書き方の言語を作ろう」という流れが主役になったことは、ほとんどありません。
この階段は、ずっと一方向に伸び続けてきたんです。
階段のいちばん上に、いま何があるか
コンピュータには人間の言葉がわからない。
それが常識だったころから70年。いま私たちがAIに日本語で「こういうものが作りたい」と話しかけられるのは、その積み重ねがあってのことです。
2023年、AI研究者のアンドレイ・カルパシーが、いちばんホットな新しいプログラミング言語は英語だ、という趣旨の投稿をして話題になりました。2025年には、カルパシーが「vibe coding(バイブコーディング)」という言葉を使い、その年のうちにコリンズ英語辞典の「Word of the Year(今年の言葉)」に選ばれています。辞書の定義は「AIに自然言語で指示して、コードを書く手助けをさせること」とされています。
この進化を裏付けるかのように、世界の15,000人以上のプロの開発者に聞いた2026年の調査では、90%が週に1回以上、68%が毎日、AIのコーディングエージェントを仕事で使っているという回答になりました。
自分が書いたコードのうち、平均で47%が完全にAI生成だという回答も出ています。ちなみに日本を含む東アジアは、この傾向が世界でもとくに強い地域です。
ここまで来ると、こう言いたくなります。
プログラミング言語の階段は、ついにいちばん上に「自然言語」が乗ったのだと。
……と、断言したいところなのですが、そこは少しだけ慎重にいきたいと思います。
1978年、計算機科学者のエドガー・ダイクストラは「自然言語プログラミングの愚かさについて」という講演で、ふつうの言葉でプログラムを書こうとする試みを痛烈に批判しました。
人間の言葉は曖昧で、厳密なことを厳密に伝えるには向いていない。
数式のような形式的な記号があるからこそ、かつては天才にしかできなかったことを子どもでもできるようになったのだ、と。
この指摘は、AIが登場したいまでもまだ有効です。
「いい感じにして」と頼んだときの「いい感じ」が人によって違うことを、私たちは日々の仕事で嫌というほど知っていますよね。曖昧さは、言葉の弱点であると同時に、言葉そのものの性質でもあります。
それでも、コンピュータとのコミュニケーションにおいて、自然言語が階段のいちばん上に置かれつつあることは、確かだといえるでしょう。
言葉が通じるようになった、その先で
コンピュータと人間のコミュニケーションの距離は、70年かけて縮んできました。
そして距離が縮んだぶん、つくることのできる人の顔ぶれが変わってきました。かつては0と1を扱える人だけのものでした。
それが数式を書ける人に広がり、英語を書ける人に広がり、いまは自然言語でのコミュニケーションができるようになったことで、誰にでも何かをつくれるようになりました。
言葉が通じるようになったということは、コンピュータ側の準備は、ほぼ整ったということです。
あとは、私たち人間側が、何をするか。
つくりたいものがある。実現したいことがある。気になって仕方ないことがある。
私たちの内側から湧き上がるこの「熱」だけは、最後までコンピュータが肩代わりできないものです。そして、その「熱」を言葉にしてコンピュータに伝えてあげることが、私たち人間側の役割になっていくのではないでしょうか。
……じゃあその「熱」ってなんなの?と思ったそこのあなたにぴったりのキャンペーンも実施中です。(2026年10月まで)
よかったらこちらものぞいてみてくださいね。
というわけで、今日もあなたの好奇心のオトモに。
また次回お会いしましょう!
参考文献
High-level programming language | Wikipedia
https://en.wikipedia.org/wiki/High-level_programming_language
高水準言語(高級言語)とは | IT用語辞典 e-Words
https://e-words.jp/w/高水準言語.html
EDSAC | Wikipedia
https://en.wikipedia.org/wiki/EDSAC
FLOW-MATIC | Wikipedia
https://en.wikipedia.org/wiki/FLOW-MATIC
Grace Brewster Murray Hopper: Mathematician, Computer Science Pioneer | American Philosophical Society
https://www.amphilsoc.org/blog/grace-brewster-murray-hopper-mathematician-computer-science-pioneer
Fortran | IBM
https://www.ibm.com/history/fortran
The history of FORTRAN I, II, and III | John Backus(Computer History Museum)
https://softwarepreservation.computerhistory.org/FORTRAN/paper/p165-backus.pdf
How John Backus’ Fortran Beat the Machine Code ‘Priesthood’ | The New Stack
https://thenewstack.io/how-john-backus-fortran-beat-machine-codes-priesthood/
Quote Origin: The Hottest New Programming Language Is English | Quote Investigator
https://quoteinvestigator.com/2024/10/20/hottest-program/
‘Vibe coding’ named Collins Dictionary’s Word of the Year | CNN
https://www.cnn.com/2025/11/06/tech/vibe-coding-collins-word-year-scli-intl
AI Coding Agents: Adoption Trends | JetBrains Research
https://blog.jetbrains.com/research/2026/08/ai-coding-agent-adoption-2026/
How Much Code Do Developers Really Let Agents Write? | JetBrains Research
https://blog.jetbrains.com/research/2026/08/how-much-code-do-developers-really-let-agents-write/
On the foolishness of “natural language programming” | E.W. Dijkstra Archive
https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html