人物 :: PERSON

ビャーネ・ストラウストラップ

C++ の設計者にして最初の実装者。1950年デンマーク・オーフス生まれ。1979年に AT&T Bell 研究所で「C with Classes」として着手し、最初の商用実装は1985年10月。Bell 研究所(1979-2002)、テキサス A&M 大学(2002-2014)、Morgan Stanley(2014-2022)を経て、2022年7月からコロンビア大学計算機科学教授。1989年から ANSI/ISO 標準化に関与し、Herb Sutter とともに C++ Core Guidelines を編集する。

ビャーネ・ストラウストラップ(2013年)
出典icpcnews / photographer Vera Dron (Wikimedia Commons) · CC BY 2.0 · Commons で見る

プロフィール

生年
1950
存命
存命
在世
1950–
関連事象
01
名称
ENBjarne StroustrupJAビャーネ・ストラウストラップ

ビャーネ・ストラウストラップ(Bjarne Stroustrup、 1950年デンマーク・オーフス生)は、 C++ の設計者であり最初の実装者である。 オーフス大学で数学と計算機科学の Cand.Scient.(1975年)、 ケンブリッジ大学で計算機科学の博士号(1979年)を取得した。 博士論文の主題は分散システムの設計で、 指導教官は EDSAC の David Wheeler だった。 C++ の来歴については本人が日付入りの記述を長年公開しており、 流布している伝聞よりも本人の記述のほうが精確である。

経歴

1979年、 妻と娘を伴ってニュージャージーへ移り、 Bell 研究所の Computer Science Research Center(通称 1127)に加わった。 なぜ Bell 研究所だったのかという FAQ の問いに対する答えは、 一行で済まされている ── "Because I could."

期間所属
1979-2002年Bell 研究所、 のち AT&T Labs - Research。 Large-Scale Programming Research Department の長(創設〜2002年末)。 1993年に AT&T Bell Laboratories Fellow
2002-2014年テキサス A&M 大学 College of Engineering Chair in Computer Science Professor。 2011年から University Distinguished Professor
2014年1月-2022年4月Morgan Stanley 技術部門のマネージング ディレクター。 2019年に同社初の Technical Fellow。 2022年4月2日退職
2022年7月-コロンビア大学 計算機科学教授

2002年に研究所を離れた理由を、 本人は "The steam had run out of Bell Labs and its successors, AT&T Labs and Lucent Bell Labs." と書く。 2014年に大学から銀行へ移った理由は "I felt it was time to get back to industry."。 現場の規模と、 成功・失敗の帰結が実在する場所に居たい、 という一貫した動機である。

C with Classes から C++ へ

"I started work on what became C++ in 1979." ── 初期版の名は "C with Classes" だった。 動機は本人の記述で二層になっている。 一般的な目標は "to design a language in which I could write programs that were both efficient and elegant"、 具体的なきっかけは "distributing operating system facilities across a network" である。 Simula67 が促す書き方でシステムプログラムを効率よく書きたい、 というのが出発点だった。

土台に C を選んだのは、 当時それが最良のシステムプログラミング言語だと考えたからだ、 と述べている。 廊下の向こうに Dennis Ritchie、 Brian Kernighan、 Doug McIlroy、 Steve Johnson がいた環境について、 彼らの助言と C が無ければ C++ は死産だっただろう、 とも書く。 「C を使えと命じられた」という噂は、 本人が繰り返し否定している。

名前を提案したのは Rick Mascitti である。 『The C++ Programming Language』第1章の記述では1983年夏の命名で、 実際に文書へ書き込まれたのは同年12月、 論文の最終稿の段階だった。 最初の商用実装は1985年10月、 同書初版と同時に出ている。 なお AT&T は本人の言う "Cfront, my original C++ compiler" で開発費を何倍も回収した、 と FAQ にある。

標準化と用語の規律

1989年から ANSI/ISO の標準化に積極的に関与し、 以後も改訂作業を続けている。 最初の ISO 規格が C++98、 現行は C++23(ISO/IEC 14882:2024)である。 2015年からは Herb Sutter とともに C++ Core Guidelines を編集し、 静的に型安全で資源漏れの無いコードを既存の C++ の内側で書くための規則集として更新を続けている。

用語についての立場も明快で、 「C/C++」という言い方には FAQ の一項を割いて反対している ── "There is no language called 'C/C++'." 二つの別の言語を一括りにする語法が実務の混乱を生む、 という主張である。

著作

『The C++ Programming Language』(初版1985年、 第4版2013年)、 『The Design and Evolution of C++』(1994年)、 『A Tour of C++』、 『Programming: Principles and Practice using C++』。 加えて ACM の HOPL(History of Programming Languages)に1993年・2007年・2020年の三度、 C++ の設計史を当事者として寄稿している。 言語の設計者が四半世紀にわたり査読付きの形で自らの設計判断を記録し続けた例は、 多くない。

受賞・栄誉

  • 1993年 ── ACM Grace Murray Hopper Award、 ACM Fellow
  • 2004年 ── 米国工学アカデミー(NAE)会員
  • 2005年 ── IEEE Fellow、 Sigma Xi William Procter Prize
  • 2015年 ── Computer History Museum Fellow、 Dahl-Nygaard Senior Prize
  • 2017年 ── IET Faraday Medal
  • 2018年 ── Charles Stark Draper Prize(NAE)、 IEEE Computer Society Computer Pioneer Award、 John Scott Legacy Medal
  • 2019年 ── マドリード・カルロス3世大学 名誉博士

ACM チューリング賞は受賞していない。

現在の活動

コロンビア大学の教授職を軸に、 ISO 標準化の作業を続けている。 本人の経歴ページによれば、 2021年から Metaspex の技術顧問、 2026年2月から YetiWare の上級顧問、 2026年6月からは Susquehanna International の非常勤 Technical Fellow を務める。 教育と設計のために実務との接点を保ちたい、 というのがその理由として記されている。

影響

C++ の中心的な設計方針 ── 抽象化の費用を可能な限りゼロに近づけ、 使わない機能の代償を払わせない ── は、 低レイヤの制御と高い抽象度を同時に要求する領域に標準的な選択肢を作った。 ゲームエンジン、 金融取引システム、 組込み機器、 ブラウザ実装がその代表である。 本人は2015年の調査を引いて利用者を440万人程度と述べ、 現在はもっと多いだろうとも書いている。

近年強まっているのはメモリ安全性をめぐる批判で、 Rust のように安全性を型システムで強制する言語との対比で語られることが増えた。 これに対するストラウストラップの応答は、 言語を置き換えるのではなく、 既に存在する膨大なコードの内側で安全な部分集合を規律として使えるようにする、 という方向にある。 Core Guidelines はその実装であり、 「現代的な C++」を完全に型安全・資源安全な言語として意味づける取り組みだと本人は説明している。

関連する出来事

  1. C++ 商用リリース ── Bjarne Stroustrup

最終更新:

共有