Bjarne Stroustrup

Danish computer scientist, creator of C++ (born 1950)

Bjarne Stroustrup: Splicing Elegance Onto Speed

Bjarne Stroustrup wanted something that, on paper, sounded like a contradiction: a language where he could write programs "as elegant as Simula programs, yet as efficient as C programs." Simula was slow and academic; C was fast and unforgiving. Stroustrup spent the next four decades proving the contradiction was only apparent, and in the process built the language that still runs the world's operating systems, browsers, game engines, and trading floors.

A Working-Class Start in Aarhus

Stroustrup was born December 30, 1950, in Aarhus, Denmark, to a working-class family, and studied mathematics with a focus on computer science at Aarhus University from 1969 to 1975. He then went to the University of Cambridge for a Ph.D. in computer science, completed in 1979 under David Wheeler and focused on distributed computing. It was at Cambridge, and through the influence of Kristen Nygaard — one of the two inventors of Simula and of object-oriented programming itself — that Stroustrup absorbed the ideas about classes, inheritance, and abstraction that would define his life's work. He has said his exposure to Simula's expressive power, combined with frustration at how impractically slow it was to run, planted the specific problem C++ was built to solve.

Bell Labs and the Birth of "C with Classes"

In 1979 Stroustrup joined AT&T Bell Labs' Computer Science Research Center in Murray Hill, New Jersey — the same research culture that had produced Unix and the C language itself. There he began extending C with Simula-style classes, initially calling the result "C with Classes." The internal reference manual for what would be renamed C++ appeared in 1984, and the language reached commercial release in 1985, the same year Stroustrup published the first edition of "The C++ Programming Language," a book that would run to four editions and translation into twenty-one languages. He deliberately built C++ as an extension of C rather than a clean-slate language, a decision that cost him some theoretical purity but bought immediate compatibility with an enormous existing codebase and toolchain — a pragmatic trade that did more than anything else to determine how fast the language spread. He went on to lead AT&T Bell Labs' Large-Scale Programming Research department from its creation until late 2002, and was named a Bell Labs Fellow in 1993 and an AT&T Fellow in 1996.

THE FREE TEST
How high is yours?

Twenty questions, eight minutes on the clock, and a percentile measured against everyone who has taken it. No sign-up.

Take the IQ test →

What C++ Actually Added

C++ layered onto C a static type system that treated user-defined types with the same seriousness as built-in ones, object-oriented programming modeled on Simula's classes and inheritance, and — in a later and arguably more influential move — generic programming through templates, letting code be written once and specialized for many types without sacrificing speed. Its resource-management idiom, RAII (resource acquisition is initialization), tied the lifetime of a resource to the lifetime of an object via constructors and destructors, a pattern that solved a class of memory and resource-leak bugs that had plagued C programmers for years and that later influenced garbage-collected languages' own resource-handling designs. Crucially, none of this came at the cost of C's direct access to hardware and operating-system resources — the efficiency half of Stroustrup's original ambition was never compromised for the elegance half.

Shepherding a Language Through Standardization

Stroustrup did not simply invent C++ and walk away. He was a founding member of the ANSI standardization effort in 1989 and the subsequent ISO committee in 1991, and he chaired the committee's Evolution Working Group — the body that vets every proposed addition to the language — for twenty-four years. That is an unusually long tenure of stewardship for any programming language's creator, and it meant Stroustrup personally shaped how C++ absorbed decades of new demands, from concurrency support to compile-time metaprogramming, without breaking the enormous body of existing C++ code already running in production.

Academic and Industry Career After Bell Labs

After Bell Labs, Stroustrup moved to Texas A&M University in 2002 as College of Engineering Chair Professor, becoming a University Distinguished Professor in 2011. In 2014 he joined Morgan Stanley as a technical fellow and managing director while holding a concurrent visiting professorship at Columbia University, and since 2022 he has been a full professor of computer science at Columbia — an unusual late-career arc that placed the inventor of a systems language at the center of a Wall Street trading firm's technology.

Awards and Recognition

Stroustrup's honors track his outsized influence rather than any single celebrated breakthrough: the ACM Grace Murray Hopper Award in 1993, election as an ACM Fellow and IEEE Fellow in 1994, the William Procter Prize for Scientific Achievement in 2005 (the first computer scientist to receive it), the IET Faraday Medal in 2017, and the Charles Stark Draper Prize in 2018 "for conceptualizing and developing the C++ programming language." The Computer History Museum recognized him as a Fellow in 2015, crediting him with "bringing object-oriented programming and generic programming to the mainstream." He has not received the ACM Turing Award.

Why Bjarne Is Called a Genius

The case for calling Stroustrup a genius does not rest on a single stroke of theoretical originality — object orientation came from Nygaard and Dahl, generic programming had precedents, and C already existed. It rests instead on a rarer kind of engineering judgment: the ability to fuse ideas that the field had assumed were in tension, without breaking either, and to keep making that trade-off correctly across a quarter-century of standardization decisions as computing itself changed underneath the language. The Draper Prize citation credits him for "conceptualizing and developing" C++, language that acknowledges synthesis rather than pure invention. The honest counter-case is substantial: C++ is widely criticized, including within the field, for its accumulated complexity, its exposure of programmers to memory-safety pitfalls that newer languages like Rust were explicitly designed to eliminate, and for design compromises that trace directly to Stroustrup's founding decision to stay backward-compatible with C. His genius, if the word applies, is closer to master craftsmanship and stewardship — building something enormously useful and imperfect, then holding it together for forty years — than to a flash of pure abstract insight.

Legacy

C++ remains foundational to operating systems, browsers, game engines, and financial trading systems, and its influence runs visibly through Java, C#, and Rust. Stroustrup's own assessment of his life's work has always been characteristically unsentimental: he built a tool meant to be used, and by that measure — sheer, decades-long ubiquity — C++ has succeeded beyond almost any other programming language in history.

Achievements

Compare with the greats

Sun Tzu vs William James SidisCharles Dickens vs VoltaireJames Clerk Maxwell vs Ren DescartesImmanuel Kant vs Niels Bohr
See the IQ Rankings →All comparisons →

Child prodigies

Macaulay CulkinMacaulay CulkinCarried Home Alone to global blockbuster status and became the…Connie TalbotBritain's Got Talent Finalist at Age 6 — Debut Album Platinum…Shakuntala DeviShakuntala DeviMultiplied two 13-digit numbers in her head in 28 secondsJeremy ShulerCornell University at 12 — Reading at 21 Months, Top-Decile SAT…
Child prodigies →

Play & come back tomorrow

Daily Genius Challenge · Guess the genius
Scottish physicist who unified electricity, magnetism and light into one set of equations.
Tap your answer ↓
Which Genius Are You? Free IQ Test