この記事のポイント
- C言語はUNIXの移植性向上を目的に、デニス・リッチーが開発したプログラミング言語です
- デニス・リッチーはケン・トンプソンとともにUNIXを開発し、ACMチューリング賞など多数の賞を受賞しました
- C言語の設計思想はC++・Java・Objective-Cなどに受け継がれ、現代のソフトウェア開発の礎となっています
ITエンジニアを目指すなら
エンジニア就活に無料登録しよう
プログラマーにとっては基礎中の基礎、といわれる「C言語」。C++やJavaの原型ともなった有名すぎるプログラミング言語です。今回は、このC言語の設計者でUNIXを生み出した一人、デニス・リッチーについてご紹介します。
C言語誕生までの歩み

出典:pixabay.com
デニス・リッチーは1941年、ニューヨークで生まれました。ハーバード大学で物理学と応用数学を学んだ後、1967年に父のアリステア・リッチーと同じAT&T社ベル研究所に入ります。そこで彼は「Multics(マルティックス)プロジェクト」に参加することになります。
このMulticsプロジェクトは、ベル研究所とマサチューセッツ工科大学、そしてゼネラル・エレクトリック(GE)社とが協同で進めた産学協同のプロジェクトで、これまで以上に高度な処理能力を持つ万能OSの開発を目指すものでした。デニスはこのプロジェクトでMultics上で動作するプログラミング言語用のコンパイラの開発に成功します。
しかし、Multicsプロジェクトはやがて巨大で複雑なものとなったため、ベル研究所は見切りをつけ、プロジェクトから撤退。そこでデニスは同じプロジェクトに参加していたケン・トンプソンらと共に、Multicsの失敗を生かし、もっと小規模で現実的なOS、のちの「オープンソース」の原型ともなるUNIXの開発に成功します。
UNIXは安価で様々なマシンに対応しており、いったん動作させることができれば、ユーザーがその上に自由にソフトウェアを載せることができるマルチユーザーOSとして開発されました。
しかし出来た当時のUNIXはアセンブリ語(機械語)で書かれていた為、移植性に乏しくメモリーの取り扱いにも苦労するものでした。UNIXの移植を容易にする為、デニスはケン・トンプソンが開発したB言語を発展させ、汎用性の高いプログラミング言語「C言語」を作り上げ、UNIXをC言語で書き換えます。これによりUNIX人口はどんどん増加。
また、C言語自体もその高水準言語としての汎用性の高さから、プログラミング言語として広く使用されるようになりました。
デニス・リッチーの死去

Licensee:dpanyikdale
UNIX開発の仕事により、デニスは1983年にケン・トンプソンと共に、コンピューター界のノーベル賞と言われるACMチューリング賞を受賞しました。また、1990年にはIEEEハミングメダル、1999年にはアメリカ国家技術賞を受賞しました。
日本でもその功績が讃えられ、2011年、日本国際賞を受賞と、その受賞歴の多さも彼の多大なる功績を物語っています。
デニスはUNIX開発後もベル研究所で仕事を続け、2007年に引退するまでシステムソフトウェアの研究を続けました。そしてしばらくの闘病を経て、2011年10月12日、奇しくもあのスティーブ・ジョブズの訃報の1週間後、独り住まいの自宅で亡くなっているのが発見されました。
デニスの生みだしたC言語の考え方は、その後もC++・Java・Objective-Cなどに受け継がれ、今日のコンピューターやインターネット環境に大きく貢献しています。
カーニハンとの共著である名著、プログラミング言語C

出典:amazon.co.jp
この本はデニス・リッチー本人と、C言語の共同開発者であるブライアン・カーニハンによって書かれたものです。Amazonで購入することができます。初版は1978年に出版されましたが、第2版ではANSI(アメリカ国内標準規格協会)によって定められたC言語のANSI規格によって内容が改変されています。
授業でC言語を学んでいる学生さんやこれからC言語を学ぼうとされている方は、必ず目を通すべきとも言える名著ですので、ぜひ一度購入されるなどして、読んでみてはいかがでしょうか。C言語が培った「シンプルで移植性の高い設計思想」は、現代のクラウド開発やOSS(オープンソースソフトウェア)文化にも脈々と受け継がれており、DX時代を生きるエンジニアにとっても基礎として押さえておきたい一冊です。
就活の第一歩を踏み出そう
ITエンジニア向け求人・インターン情報を探す
編集後記
デニス・リッチーが追い求めた「シンプルで汎用性の高い設計」という哲学は、半世紀以上たった今も現役エンジニアの思想の根底に息づいています。
C言語を学ぶことは、単なるスキル習得ではなく、コンピューターの本質を理解する第一歩でもありますよ。
編集者
エンジニア就活 編集部
ITエンジニアを目指す就活生に向けて、求人情報・選考ノウハウ・業界研究など実践的なコンテンツを届けています。
就活生の疑問や不安に寄り添いながら、日々コンテンツを更新しています。



