C言語は、誰が何のために作ったの?
現在使用されているプログラミング言語の中にも、C言語がベースになっているものが数多くあります。
この大元となった「C言語」とは、一体いつ誰が作ったものなのでしょうか?
今回は、知ってるようで知らない、C言語の開発までのお話をご紹介します。
C言語の誕生のきっかけはUNIXから始まる
Windowsやmac OSも有名ですが、UNIX(ユニックス)というOSの存在も忘れてはいけませんね。
実は、この「UNIXの開発」と「C言語の開発」には、ある人物がかかわっています。
失敗から多くを学んで誕生したUNIX
まずは、UNIX誕生についてを知っておきましょう。
当時、Multicsプロジェクトというものが立ち上げられます。
これは、高性能なOS開発を目標とした、ベル研究所とゼネラルエレクロトニック社、そして、マサチューセッツ工科大学の共同プロジェクトでした。
しかし、1969年に、プロジェクトからベル研究所が手を引くこととなり、プロジェクトは中止されてしまいます。
そこで、ベル研究所にいたデニス・リッチーという人物が、Multicsプロジェクトの失敗を活かして現実的なOS開発に乗り出すことにしました。
UNIX開発のきっかけはゲームがしたかったため?
【Space Travelというビデオゲーム】
UNIX開発前に使用していたコンピューターは、PDP-7という機種が使用されていました。
1965年に販売されたモデルなので、すでに型遅れでした。
そんなコンピューターを使用していた彼らですが、「Space Travel」というゲームをなんとかPDP-7で動かしたいと考えます。
しかし、モデルが古いためにゲームを動かすことはできません。
そこで、デニス・リッチーが「実用的なOSがあれば動くだろう」と開発したのがUNIXでした。
ゲームのために「UNIX」を開発したというのは、何とも面白いお話ですね。
そして、同じ研究所にいたケン・トンプソンという人物の協力も得ながら、共同で「UNIX」を作り始めたのです。
UNIXの移行を簡単に行うためにC言語は生まれた
【PDP-11で作業しているケン・トンプソン (座っている人物)とデニス・リッチー】
引用:Wikipedia
UNIXが開発された当初は、アセンブリ語でプログラミングされていました。
アセンブリ語とは、機械語よりも少し意味がわかりやすい形に書かれたプログラミング言語です。
プログラミング言語はある程度、英語の意味と共通するものが多いですが、アセンブリ語は全く英語の要素はありません。
そこで、少しでも簡単にUNIXを他のコンピューターに移植できるように開発されたのがC言語だったのです。
デニス・リッチーによってB言語を元に作られたC言語
アセンブリ語では移植が難しいことを悟ったデニス・リッチーが目をつけたのは「B言語」でした。
UNIX開発にも携わっていたケン・トンプソンがB言語を開発したのですが、実行速度が遅かったのです。
そこで、B言語の実行速度を上げるために開発されたものがC言語ということです。
開発でのコンセプトは作業効率を上げるためですから、実行速度を早くすることも大切な目的だったわけですね。
C言語とC言語版UNIXの完成
【ケン・トンプソン(左)とデニス・リッチー(右)】
そして、ついに、C言語が1972年に誕生しました。
さらに、1973年には、C言語版のUNIXが開発されました。
この時点で、「簡単にUNIXを移植する」という目的が達成されました。
C言語は、その後、世界中に広まり「C++」「C#」「opjectiveC」「javascript」など、多くのプログラミング言語の基礎となります。
C言語を開発したデニス・リッチーは、IT業界に多大なる影響を及ぼした人物でもあるのです。
デニス・リッチーとスティーブ・ジョブズ
引用:wikipedia
UNIXとC言語のメイン開発者だったデニス・リッチーの最後は、2011年、心血管疾患と前立腺癌の長い闘病生活の末に訪れました。
その死は、Apple創業者であるスティーブ・ジョブズの死から一週間後です。
実は、Apple製品のmac OSやiPhoneのiOSもUNIXが元となっています。
また、mac OSやiPhoneのアプリについても、C言語を元にしたObjective-Cから構成されています。
この2人の死は、何か運命的なものさえ感じてしまうから不思議です。
C言語は、現代の私たちの生活を支える基礎
1970年代前半のプログラミングは、まだ機械語に近い形で作業されていました。
しかし、C言語以降の現在、プログラミングがどれだけ楽になっているか、エンジニアの方であれば分かりますよね。
現在、デニス・リッチーが、開発したC言語はスマートフォンアプリなどのプログラミング言語の元となり、現代の私たちの生活を支える基礎となっています。
後に、デニス・リッチーはこう言っています。
「C言語がこれほど世界に広まるとは思っていなかった」
彼は、お金を儲けるためにC言語を作ったのではありません。
「少しでも便利にコンピューターが使用できるように」という純粋な想いが、このような大きな功績となったのでした。
こちらの記事もオススメ!
2020.07.27IT・コンピューターの歴史特集IT・コンピューターの歴史をまとめていきたいと思います!弊社ブログにある記事のみで構成しているため、まだ「未完成状態」...
2020.07.27IT偉人の誕生日特集現在のITがあるのは、「IT偉人」のおかげ!そこで今回は、IT偉人の誕生日をまとめていくことで、時代の流れを追えるよう...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...