あなたが毎日使っているプログラミング言語の名前には、意外な由来が隠されている。C言語の「C」はなぜCなのか。Pythonに蛇は関係あるのか。Javaとコーヒーの関係は?——言語の名前をたどると、コンピュータ科学の歴史が浮かび上がってくる。
C言語の名前はアルファベット順ではない
C言語が「C」と名付けられた理由は、その前身であるB言語の次に作られたからだ。単純に見える話だが、ここには少し複雑な系譜がある。
| 言語名 | 開発年 | 開発者 | 名前の由来 |
|---|---|---|---|
| BCPL | 1966年 | マーティン・リチャーズ | Basic Combined Programming Language |
| B | 1969年 | ケン・トンプソン | BCPLの頭文字を取った説が有力 |
| C | 1972年 | デニス・リッチー | B言語の後継 |
| C++ | 1979年 | ビャーネ・ストロヴストルップ | Cのインクリメント演算子「++」 |
| C# | 2000年 | マイクロソフト | C++をさらに「++」した形が「#」に見える |
B言語はベル研究所でUNIX開発のために作られた。BCPLを簡略化した言語で、その名前はBCPLの「B」から取られたとする説が最も広く受け入れられている。一方で、ケン・トンプソンの妻ボニー(Bonnie)の頭文字だという説もあるが、トンプソン本人はこれを明確に否定も肯定もしていない。
C++の「++」はC言語のインクリメント演算子にちなんでおり、「Cを一段階進化させた」というメッセージが込められている。さらにC#の「#」は、音楽の嬰記号(シャープ)を模したもので、C++の「++」をさらに重ね合わせて「####」の形に見立てたとも言われる。
Pythonの名前は蛇ではなくコメディ番組に由来する
Pythonのロゴには2匹の蛇が描かれているが、言語名の由来は蛇ではない。作者のグイド・ヴァン・ロッサムは、イギリスのコメディグループ「モンティ・パイソン」の大ファンだった。1989年のクリスマス休暇中に開発を始めた際、「短くて少し不思議で、覚えやすい名前」を探していたヴァン・ロッサムが選んだのがPythonだった。
| 言語名 | 動物に見える由来 | 実際の由来 |
|---|---|---|
| Python | ニシキヘビ | モンティ・パイソン(コメディ番組) |
| Perl | 真珠(Pearl) | Practical Extraction and Report Language |
| [Rust](/tag/rust) | 錆 | 錆菌(rust fungi)の頑丈さ |
| [Go](/tag/go) | なし | 囲碁(Go)の戦略性 |
| Swift | アマツバメ | 速さを意味する英単語+鳥 |
Pythonの公式ドキュメントにはモンティ・パイソンへのオマージュが散りばめられている。サンプルコードの変数名に「spam」「eggs」「ham」が使われるのは、モンティ・パイソンの有名なスケッチ「Spam」に由来する。技術文書に笑いを忍ばせるこのセンスが、Pythonコミュニティの文化を形作ってきた。
Javaとコーヒーの深い関係
Java言語は当初「Oak(オーク)」という名前だった。ジェームズ・ゴスリングのオフィスの窓から見えるオークの木にちなんだ名前だったが、すでにOakという名の製品が商標登録されていた。
名前を変更する必要に迫られた開発チームは、ブレインストーミングを行った。候補には「Silk」「DNA」「Lyric」などがあったが、最終的にチームが愛飲していたコーヒーにちなんで「Java」が選ばれた。ジャワ島はインドネシアの高品質コーヒーの産地として知られている。
Javaのロゴがコーヒーカップなのは、この由来を直接反映している。プログラマーが深夜にコーヒーを飲みながらコードを書く——Javaの名前は、そんな開発者文化を象徴している。
意外な由来を持つプログラミング言語たち
| 言語 | 開発年 | 名前の由来 | 由来の詳細 |
|---|---|---|---|
| Ruby | 1995年 | 宝石のルビー | Perlが真珠なら、次の宝石はルビーだ(まつもとゆきひろ) |
| Scala | 2004年 | 階段(Scalable Language) | スケーラブルな言語、イタリア語で「階段」 |
| Kotlin | 2011年 | コトリン島 | サンクトペテルブルク沖の島。Javaが島なら対抗して島の名を |
| Erlang | 1986年 | A.K.エルラン | デンマークの[数学](/tag/mathematics)者+Ericsson Language |
| Haskell | 1990年 | ハスケル・カリー | 数学者。カリー化の語源にもなった人物 |
| Ada | 1980年 | エイダ・ラブレス | 世界初のプログラマーとされる人物 |
Rubyの名付けには日本のプログラミング文化が色濃く反映されている。開発者のまつもとゆきひろ(Matz)は、同僚とのオンラインチャットで名前を議論していた際に「Perlの次の宝石」としてRubyを思いついた。誕生石ではRubyは7月、Perlは6月——偶然にも月の順番通りだったという。
名前に込められた思想を読む
プログラミング言語の名前は、設計者の哲学や時代背景を映し出す鏡だ。Adaが「世界初のプログラマー」にちなむのは、歴史への敬意。Goが囲碁に由来するのは、シンプルさと戦略性の追求。Rustが錆菌から名付けられたのは、どんな環境でも堅牢に動くという設計思想の表明だ。
次にコードを書くとき、エディタの左上に表示される言語名の由来を思い出してみてほしい。その一語には、開発者のユーモア、歴史への敬意、そしてまだ見ぬ未来への野心が圧縮されている。あなたが最も愛用する言語の名前には、どんな物語が隠されているだろうか。