
2026/10/23 9:52
「自然言語プログラミング」の愚かさ(1978年)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
本文は「自然言語プログラミング」を明確に反論しており、コンピュータは人間の言葉ではなく、正確で形式的な記号体系を通じてのみ機能すると主張しています。機械は忠実な実行体であるため、自然言語による意味のないコマンドが与えられてもそれを修正せずに完璧に処理し、むしろエラーを引き起こして意味ある結果をもたらすことはありません。歴史的事実は、口頭での説明を越えた重要な進歩を実現するためには形式的数学系が必要であったことを示しており、1977 年のレポートにおいては、明瞭さを求めるために標準的な論理記号を避けることがこの分野の根本的な誤解であることを指摘しています。プログラミングにおいて英語やオランダ語のような固有言語に頼ることは、人間と機械双方の作業負荷を増大させ、構築と使用を困難にするものです。したがって、技術的洞察力のない支持者は、一般言語への精通度低下に伴い避けられない失敗に見舞われます。本文ではこれを「新しい無学」と呼びました。もし自然な言語が情報処理の唯一のインターフェースとなっていたならば、利用可能なシステムを開発するのには数十年ではなく数千年がかかっただろうはずです。したがって、ハイレベルプログラミング言語の成功は人間の話し方を模倣することによってではなく、厳格な操作ルールを通じて無意味を消去し、人間のエラーを明示的なエラーメッセージに変換することによるものです。
本文
自然言語プログラミングの愚かについて
自動計算の黎明期における認識
- プログラミングは慎重で正確な作業であり、形式的記号の使用が必須であると考えられていた。
- 機械的な奴隷は与えられた指示を盲目に実行するため、指示に含まれる明らかな誤りに対しては厳格な服従を示すという点が問題視された。
「しかし一瞬とは長い時間であり、思索は苦しいプロセスである」(A・E・ホージマン)
エラー防護とプログラミング言語の進化
- 高級プログラミング言語の開発により、人機間のインターフェースにおける危険な冗長性が改善された。
- 軽微な事務的過ちが無意味な活動を引き起こすのを防ぐために、誤った答えではなくエラーメッセージを表示する仕組みが導入された。
- ただし、この改善を一律に歓迎する意見はなかった。
- 一部の人間は、無視できないエラーメッセージの方が誤った結果よりも不快だと感じた。
- プログラミング言語の優劣判断において、「容易さ」を「検出されない過ちを起こす容易さ」と同一視している傾向が依然として残っている。
- 結論:プログラミング言語に対応する(抽象的)マシンは忠実な奴隷であり、無意味な指示も完璧に実行してしまうため、慎重さと正確さは引き続き必要である。
自然言語による指令の是非
- マシンを母語で指示することで使いやすくしようとする試みが提案されたが、以下のような懸念がある。
- マシンの複雑性を大幅に増大させることになり得る。
- 「インターフェースの変更」は労働の分業ではなく、コミュニケーションのための追加作業を意味する。
- 結果として、柵の両側に施す必要がある作業量が劇的に増加することがある(狭いインターフェースが優先される理由)。
- 「母語で指示すればマシンの負担が増える」のは事実だが、「人間の生活を単純化する」という前提には疑問が必要である。
数学史からの教訓
- 言語的・図式的な活動だけで進めようとした歴史は行き詰まった例がある。
- ギリシア数学:言語と図式に依存し、行き詰まり。
- イスラム代数:記号への試みから戻ろうとした際に死に絶えた。
- 現代文明の台頭は、形式的記号体系(ヴィエタ、デカルト、ライプニッツ、ブールなど)が設計された後で実現した。
- 形式的テキストの美徳:
- 操作を正当化するにはわずかな簡単な規則を満たせばよい。
- 母語を使用する際にほぼ不可能な種類の無意味(冗長性)を排除するための効果的な手段である。
形式的記号への見方
- 形式的記号の使用義務を「負担」とみなすのではなく、**「利便性の特権」**と捉えるべきである。
- これにより、かつて天才のみが達成できたことを、学校児童も学ぶことができるようになった。
- 「自然な言語でのプログラミング」の本質は、無意味であることを直ちに認識できないような陳述を作り出しやすいという点にあり得る。
未来への推測
- もし当初から母語が情報の入力・出力媒体として採用されていれば:
- コンピュータ科学は十分に定義された形式的システムへとブートストラップされる過程で、歴史を繰り返すことになるかもしれない。
- インターフェースを有用にするために世界のすべての知性を必要とする可能性がある。
- この仕事を使い切るのに再び数千年かかるかもしれない(過度に悲観的ではない)。
注記:言語能力の低下と警告
- 知的規律から教育が遠ざかる傾向により、西洋世界における人々の母語に対する統制能力は急激に低下している。
- 以前より知られていた人々でも、現在では自分の母語さえ効果的に使用できないケースが増えている。
- 科学論文や技術報告に見られるような意味のない冗長な文章が警鐘を鳴らすほど多い。
- この現象(「新しい無学」)は、自然言語プログラミングへの信仰者たちに以下の点を戒める必要がある。
- 失敗を予測するために必要な技術的洞察を持たないこと。
おわりに
- 母語でプログラミングするためのマシンを作ることは、それらを使用するほど困難であると疑うに値しないという直感が得られる。