【デニス・リッチー】C言語とUNIXはゲームをやるため開発した!?

記事監修
(株)ライトコード代表取締役 金城直樹
元フリーランスエンジニア。「自分で作ったものを自分で触れないのは物足りない」と考え、BtoC向けのWebアプリ・モバイルアプリ開発を専門とした(株)ライトコードを2011年に創業。
「好きを仕事にするエンジニア集団」を掲げ、現在、50人以上のエンジニアを束ねる。会社経営の傍ら、今だに第一線で活躍するエンジニアでもある。開発のことなら何でもござれな「何でも屋」。趣味は釣り。

記事を3行で解説

➀C言語とUNIXはデニス・リッチーが開発し、現代の多くのプログラミング言語やOSの基礎となっている。

➁UNIX誕生の背景には「Space Travel」というゲーム移植の挑戦や、複雑すぎたMulticsプロジェクトの反省がある。

➂C言語は移植性と効率性を両立し、IT業界全体に革新をもたらしたリッチーの信念と精神は今も受け継がれている。


カトウカトウ
C言語って難しいー!
にゃん八にゃん八
現在、使用されているプログラミング言語の中にも、C言語がベースになっているものが数多くあるからな。
勉強しておいて損はないぞ
聖徳聖徳
C言語ではなく、実は「B言語」というものもあるのでおじゃる~
カトウカトウ
B言語!?
にゃん八にゃん八
OSといえば、Windowsやmac OSも有名だが、UNIX(ユニックス)の存在も忘れてはいけないぞ。
実は、この「UNIX」と「C言語」の開発には、同じ人物が関わっているのだ
聖徳聖徳
UNIXは「Space Travel」というゲームをやるために開発されたのである~
カトウカトウ
ゲーム!?
にゃん八にゃん八
UNIXとC言語を作ったのは「デニス・リッチー」という人物だ!
今回は、知ってるようで知らない、C言語開発者のお話をご紹介しよう!
目次

ベル研究所での理想と挫折

1941年、ニューヨーク州ブロンクスビルに生まれたデニス・リッチー

父のアリステア・E・リッチーもベル研究所の著名な研究者で、幼少時から科学や数学に囲まれた環境で育ちました。

ハーバード大学で物理学と応用数学を修め、1967年、父と同じくAT&Tベル研究所に入所。

ここから、世界的なイノベーションの歴史が動き始めます!

Multicsプロジェクト

リッチーが最初に参加したのは、産学連携の巨大プロジェクト「Multics」でした。

これは、高性能なOS開発を目標とした、ベル研究所とゼネラルエレクロトニック社、そして、マサチューセッツ工科大学の共同プロジェクトでした。

Multicsとは「コンピュータ・ユーティリティ」です。

つまり、電気や電話のように誰もが使えるコンピュータ環境を目指し、当時としては画期的なタイムシェアリングOSを開発しようとしたものです!

「理想」が生んだ挫折

Multicsでは、ベル研究所にいたケン・トンプソンという人物と開発プロジェクトで同じチームとなり、協力関係が始まります。

ここで二人は技術的な議論や共同作業を重ね、信頼関係を築いていきました。

しかし、1969年にプロジェクトは中止されてしまいます。

この経験が、リッチーとトンプソンに「もっとシンプルで現実的なOSを作るべきだ」という強い動機を与えました。

そこで、Multicsプロジェクトの失敗を活かして現実的なOS開発に乗り出すことにしたのです!

聖徳聖徳
Multicsは「仮想記憶」「階層型ファイルシステム」「動的リンク」「強力なセキュリティ」など、当時としては非常に先進的な機能を多数盛り込んでおったのであるぞ~
にゃん八にゃん八
その結果、設計も開発も「過剰」になり、システムが巨大化していった。
当時のハードウェア性能やソフトウェア技術では、Multicsが目指した多機能性を十分に実現できなかったのだ…
カトウカトウ
それで、開発が停止されちゃったんだ
にゃん八にゃん八
そうだな!
開発が難航し、5年経っても完成せず、多大な時間とコストがかかってしまった。
ベル研究所は「目標達成の見込みが薄い」と判断し、1969年にプロジェクトから撤退したのだ…
聖徳聖徳
一方で失敗から学んだ収穫も多かったのである~。
Multicsは「高可用性」「柔軟なアクセス制御」「モジュール化」など、現代OSの基礎となる多くの概念を生み出したであるぞ~
にゃん八にゃん八
Multicsの「複雑すぎて失敗した」という反省から、「シンプルさ」を重視して設計されたUNIXが生まれたのだ!
カトウカトウ
失敗は成功の母ね!

ゲームが生んだ!? UNIX誕生の舞台裏

Multics撤退後、リッチーとトンプソンは研究所で考えていました。

UNIX開発前に使用していたコンピューターは、PDP-7という機種が使用されていました。

1965年に販売されたモデルなので、すでに型遅れでした。

Space Travel

そんなコンピューターを使用していた彼らですが、「Space Travel」というゲームをなんとかPDP-7で動かしたいと考えるようになります。

このゲームは、惑星間の重力や軌道をシミュレートした本格派。

しかし、モデルが古いためにゲームを動かすことはできません。

―――Multics上で動かしていたものを、PDP-7でも動かしたい。

この「欲望」がキッカケとなり、リッチーを奮い立たせ、開発しはじめたのがUNIXでした。

PDP-7は時代遅れの機種でしたが、二人はこの制約を逆手に取り、小さくてシンプル、かつ拡張性のあるOSをゼロから設計します。

こうして1970年、UNIXの原型が誕生したのです!

C言語の誕生!

初期のUNIXはアセンブリ言語で書かれていました。

これは機械語に近く、ハードウェアごとに書き直しが必要な「職人芸」。

アセンブリ語では移植が難しいことを悟ったリッチーが目をつけたのは「B言語」でした。

実は、相方であるケン・トンプソンがB言語の開発者だったのです。

しかし、B言語では、「実行速度」や「データ型の制約」、「機能拡張の限界」がありました。

そこで、この欠点を克服するため、リッチーは1972年に「C言語」を生み出しました!

C言語は、アセンブリ並みの効率性と、構造化プログラミングの分かりやすさを両立。

そして!

1973年には、C言語版のUNIXがついに完成!

UNIXがC言語で書き直されたことで、他機種への移植が劇的に容易になりました。

カトウカトウ
ゲームのために「UNIX」を開発したというのは、何とも面白いお話ですね
にゃん八にゃん八
Space Travelは、1969年にトンプソンが開発した、初期の宇宙飛行シミュレーションゲームだ
聖徳聖徳
太陽系の中で宇宙船を制御し、様々な惑星や衛星への着陸を目指すゲームである~。
ゲームといっても、スコアや記録機能はなく、純粋に宇宙旅行と着陸のシミュレーションを楽しむゲームであるぞ~
にゃん八にゃん八
そのゲームを移植するために、トンプソンと共同で「UNIX」を作り始めたってワケだ
カトウカトウ
そこで、少しでも簡単にUNIXを他のコンピューターに移植できるように開発されたのがC言語だったと…!💡
聖徳聖徳
ちなみに、C言語の名の由来は「B言語」の次だから「C」である~
カトウカトウ
単純ね(笑)
特定の単語や頭文字を意味するものではなく、「B言語の後継」という命名なのね
にゃん八にゃん八
この命名法は、後に「C++」や「C#」など、C言語をベースにした他のプログラミング言語の名前にも影響を与えているぞ
聖徳聖徳
実は、「Hello, World!」もリッチーが起源であるぞ~
にゃん八にゃん八
世界中のプログラマーが最初に書く「Hello, World!」プログラムは、1978年に出版されたリッチーとカーニハンの共著『The C Programming Language』が起源だ
カトウカトウ
なんで「Hello, World!」なの?
にゃん八にゃん八
カーニハン本人によると、「Hello, World!」というフレーズを選んだ理由は、「卵からヒヨコが出てくる漫画で“Hello, World”と叫ぶシーンを見て、気に入ったから」だと語っている
聖徳聖徳
『The C Programming Language』の影響で、「Hello, World!」は“世界一有名なプログラム”と呼ばれるようになり、ほぼすべてのプログラミング言語の入門書で最初の例題として採用されるようになったのである~
カトウカトウ
リッチーがIT業界へ及ぼした影響は凄まじいものがありますね

世界を変えた「連鎖する革新」

当初、C言語とUNIXはPDP-11アーキテクチャに強く依存していましたが、1978年にはDEC製以外のコンピュータへの移植にも成功。

ここから、「UNIX」と「C言語」は一気に世界へ広がります。

C言語で書かれたUNIXは、大学や研究機関で爆発的に普及。

UNIXの「小さな部品を組み合わせて大きな仕事をする」という哲学は、現代のマイクロサービスやオープンソース文化の原点となります。

C言語は「C++」「Objective-C」「Java」「C#」など、数多くの言語の祖先となり、スマートフォンやクラウド、AIなど、現代ITのあらゆる場面で使われています。

このようにC言語を開発したリッチーは、IT業界に多大なる影響を及ぼしました。

デニス・リッチーの人柄とその後

リッチーは1983年、トンプソンとともにチューリング賞を受賞。

1990年にはIEEEハミングメダル、1999年にはアメリカ国家技術賞、2011年には日本国際賞も受賞しています。

晩年もベル研究所で「Plan 9」や「Inferno」といった先進的な分散OSの開発に携わり続けました。

2011年、心血管疾患と前立腺癌との闘病の末、静かにこの世を去ります。

スティーブ・ジョブズとの縁

奇しくも、Apple創業者スティーブ・ジョブズの死からわずか1週間後のことでした。

実は、Apple製品の「mac OS」や「iPhoneのiOS」もUNIXが元となっています。

また、mac OSやiPhoneのアプリについても、C言語を元にした「Objective-C」から構成されています。

この2人の死は、何か運命的なものさえ感じてしまうから不思議です。

リッチーの「現実的でシンプルなものを、みんなが使えるようにしたい」という信念は、今も世界中のエンジニアの手によって進化し続けています。

C言語とUNIXが現代にもたらしたもの

にゃん八にゃん八
C言語とUNIXは、単なる技術の発明ではない。
現実的でシンプルなものを、みんなが使えるようにしたい」というエンジニアの信念が、現代のあらゆるIT基盤の根幹に息づいている
聖徳聖徳
ちなみに、リッチーは「C言語がこれほど広まるとは思っていなかった」という言葉を残してるのである~
カトウカトウ
リッチーがC言語を作ったのは、お金を儲けるためにではなく、「少しでも便利にコンピューターを使いたい」という純粋な思いからでしたからね
にゃん八にゃん八
1970年代前半のプログラミングは、まだ機械語に近い形で作業されていた。
しかし、C言語以降の現在、プログラミングがどれだけ楽になっているか、エンジニアであれば分かるはずだ
カトウカトウ
リッチーが開発したC言語はスマートフォンアプリなどのプログラミング言語の元となり、現代の私たちの生活を支える基礎となっているんだ💡
にゃん八にゃん八
リッチーの精神は、あなたのパソコンやスマートフォンの奥深く、そしてプログラミングを学ぶすべての人の中に生き続けているのだ!!

デニス・リッチーの精神を受け継いでいくあなたへ

あなたもデニス・リッチーの精神を受け継ぐ一人。

日々、革新が生まれるIT業界の最前線で挑戦を続けていることでしょう。

仕事はやりがいがあって楽しいけれど、「やることが多すぎて時間が足りない…」と感じることもあるはずです。

そんな一人で奮闘するフリーランスエンジニアにとって、頼もしい味方となるのが「エージェント」の存在。

あなたの強みを引き出し、高単価の優良案件をあなたに代わり獲得するのが、エージェントの仕事です。

エージェントの仕事

  • 案件獲得までの営業を完全代行
  • 本業だけに集中できるようにサポート
  • 案件の利益が最大限になるように交渉してくれる

エージェントと契約するということは、あなたの収入を上げる契機でもあるのです!

エージェントによって手取りが変わる!?

そんな収入UPを目指す方のために、「マージンが最大10万円」という業界最安水準の画期的なエージェントサービスがあります。

このサービスを運営している代表は、現在、14期目のIT企業「ライトコード」の経営者ですが、当時はフリーランスとして大手有名WEBサービスなどで活躍していました。

その中で、自身も不透明なマージンに苦しんだ経験がありました。

業者によってマージン率は様々で、内訳を公開していないことがほとんど。

未だに旧態依然とした状態が続く業界に一石投じるために、エンジニアへの利益還元と透明性を最優先に考えてスタートしたのが「ITANKEN(IT案件.com)」です!

エンジニアの手取りUPを実現させる5つのお約束

ITANKENのポイントはこの5つ。

①マージンが最大10万円で業界最安値水準記事
②支払いサイトは15日で業界トップクラス記事
③公平性と透明性を重視したお取引記事
④エージェントは人柄を重視記事
⑤開発責任者は元フリーランス記事

仕事内容や単価などでお困りのことがあれば、まずはお気軽にご相談くださいませ!

以下ボタンより、4つの項目に答えるだけの簡単登録(無料)のみでご利用いただけます。

最後まで読んでくれた方へ

現在、お祝い金キャンペーン実施中です!

ITANKENをご利用いただいたフリーランスの皆様への感謝の気持ちとして、案件稼働1ヶ月経過後の初回報酬支払い時に、現金30,000円をプレゼント中!

申請手続きは不要で、対象の方には自動で指定口座に振り込まれます。

人気記事

シェアを待っておるぞ✨
目次