Bjarne Stroustrup: Why I Created C++ | Big Think

preview_player
Показать описание
Bjarne Stroustrup: Why I Created C++
----------------------------------------------------------------------------------
In the late 1970s, Stroustrup applied the idea of "classes" to the C programming language to create a new language that allows for high-level abstraction—but is efficient and close to the hardware.
----------------------------------------------------------------------------------
BJARNE STROUSTRUP:

Bjarne Stroustrup is a computer programmer most famous for having designed and implemented the computer programming language C++, one of the most widely used programming languages in the world. His book "The C++ Programming Language" is the most widely read book of its kind and has been translated into at least 19 languages. In addition to his five books, Stroustrup has published hundreds of academic and popular papers. He currently holds the College of Engineering Chair in Computer Science at Texas A&M University.
----------------------------------------------------------------------------------
TRANSCRIPT:

Question: What inspired you to create C++?

Bjarne Stroustrup: In the really old days, people had to write their code directly to work on the hardware. They wrote load and store instructions to get stuff in and out of memory and they played about with bits and bytes and stuff. You could do pretty good work with that, but it was very specialized. Then they figured out that you could build languages fit for humans for specific areas. Like they built FORTRAN for engineers and scientists and they built COBALT for businessmen.

And then in the mid-'60s, a bunch of Norwegians, mostly Ole-Johan Dahl and Kristen Nygaard thought why can’t you get a language that sort of is fit for humans for all domains, not just linear algebra and business. And they built something called SIMULA. And that’s where they introduced the class as the thing you have in the program to represent a concept in your application world. So if you are a mathematician, a matrix will become a class, if you are a businessman, a personnel record might become a class, in telecommunications a dial buffer might become a class—you can represent just about anything as a class. And they went a little bit further and represented relationships between classes; any hierarchical relationship could be done as a bunch of classes. So you could say that a fire engine is a kind of a truck which is a kind of a car which is a kind of a vehicle and organize things like that. This became know as object-oriented programming or also in some variance of it as data abstraction.

And my idea was very simple: to take the ideas from SIMULA for general abstraction for the benefit of sort of humans representing things... so humans could get it with low level stuff, which at that time was the best language for that was C, which was done at Bell Labs by Dennis Ritchie. And take those two ideas and bring them together so that you could do high-level abstraction, but efficiently enough and close enough to the hardware for really demanding computing tasks. And that is where I came in. And so C++ has classes like SIMULA but they run as fast as C code, so the combination becomes very useful.

Question: What makes C++ such a widely used language?

Bjarne Stroustrup: If I have to characterize C++’s strength, it comes from the ability to have abstractions and have them so efficient that you can afford it in infrastructure. And you can access hardware directly as you often have to do with operating systems with real time control, little things like cell phones, and so the combination is something that is good for infrastructure in general.

Another aspect that’s necessary for infrastructure is stability. When you build an infrastructure it could be sort of the lowest level of IBM mainframes talking to the hardware for the higher level of software, which is a place they use C++. Or a fuel injector for a large marine diesel engine or a browser, it has to be stable for a decade or so because you can’t afford to fiddle with the stuff all the time. You can’t afford to rewrite it, I mean taking one of those ships into harbor costs a lot of money. And so you need a language that’s not just good at what it’s doing, you have to be able to rely on it being available for decades on a variety of different hardware and to be used by programmers over a decade or two at least. C++ is not about three decades old. And if that’s not the case, you have to rewrite your code all the time. And that happens primarily with experimental languages and with proprietary commercial languages that change to finish – to meet fads.

C++’s problem is the complexity part because we haven’t been able to clean it up. There’s still code written in the 80’s that are running and people don’t like their running codes to break. It could cost them millions or more.
Рекомендации по теме
Комментарии
Автор

“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.”
— Bjarne Stroustrup

GioGziro
Автор

I was fortunate enough to meet Prof. Stroustrup when he visited my university. I asked him two things, first whether it's true that he once was asked to rate his knowledge of C++ on a 1-10 scale, and he picked 7. He said he doesn't quite recall this but yes, he'd probably say "7, or something in that range".
Then I asked him whether he thinks C++ will ever obsolete, he laughed a bit and said he's been told this for decades and so far it didn't happen, so he doesn't think it will.

He even put his signature on the back of my laptop. Absolute legend.

Levi-lcom
Автор

When he talks about how his classes run as fast as C code you can absolutely see how proud he is of that accomplishment and, well, I think that's just great.

thoughtlesslabs
Автор

I don't think it's possible to look more like you invented a coding language than this man does

theogaletka
Автор

Program: Error
Me: Stackoverflow
Bjarn: Make a new langauge

JohnDoe-zcmu
Автор

If Bjarne interviewed for a C++ developer position they would turn him down and tell him he doesn't have enough experience

mg-byuu
Автор

I am C++ programmer from last 15 years and I never seen any problem which can't be fixed in c++ in the fastest way. I salute Stroustrup for his work.

sourabhgoel
Автор

As the constructor of C++, he is in a class of his own.

Janken_Pro
Автор

He made C++. Well we can say he is the "Constructor" of C++.

mythorganizer
Автор

I love how he begins to smile at 02:30 as he talks about the advantages of C++, like a kid who knows that he did something amazing

matesi
Автор

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”
― Bjarne Stroustrup

Exhibit A: This thread.

fahadus
Автор

Those who are mocking him over his hairs remember that you'll spend your whole life managing and combing your hair and no one will notice you.

kipa_chu
Автор

That attempt of hiding his proud smirk at 2:30-2:31, love it!

faresel-amine
Автор

"What makes C++ such a widely used language?"
....
Lots of people use it.

Loggies
Автор

See that excitement at 2:30 when he's explaining his contribution in combining great architecture with great efficiency? Its my favorite part...

thatsamorais
Автор

How C++ is like teenage sex:
1-It is on everyone's mind all the time.
2-Everyone talks about it all the time.
3-Everyone thinks everyone else is doing it.
4-Almost no one is really doing it.
The few who are doing it are: A. Doing it poorly. B. Sure it will be better next time. C. Not practicing it safely.

falcon
Автор

The C++ language has managed to survive for more than 40 years, and that's incredible for a computer tool

gonzalogutierrez
Автор

That litle smirk when he says it is as fast as C :D

haluk
Автор

He tore his hair out with every bug when he was debugging C ++

WahranRai
Автор

C++ is the engine that runs nearly all of computing. Creating a good useful app is hard, modifying and improving the best programming language of its time is a degree of complexity that I don’t want to ever experience. Thank you sir for your incredible contribution to humanity.

IbrahimAkar