You are on page 1of 2

So if I've been using C++ since before Microsoft had a C++

compiler, and that's over 21 years,


then how long has C++ been a thing? So 1979 is apparently when
Bjarne started to work on it and to tell people about it.
And it got the name in 1983, which is 30 years now.
That's Bjarne Stroustrup...
Yes....
who is the creator of the language.
One person who said this would be a good idea, and set out
to make it happen. And is still very active in C++ and its future
and its growth as the time goes by.
So it's been around as C++ for 30 years. And it's an ISO standard.
This is kind of a weird thing for some people. It doesn't belong
to any company or person or organization other than the organization
that is standard C++.
And this ISO standard has a committee that meets, hundreds now
of people, yes?
Yeah, they had... they've had about a hundred people at the
last few meetings. So it's a big group from dozens of companies
and organizations. So it's not all commercial. Some of the...
there's people from the open source community, people from universities,
lots of research has been going into new language features for C++.
Yeah. And they are working on the language, and there's also
a library that comes with the language that the capabilities
of the library are set by the standards committee. And you have
to go through the standards process to get something changed
in the library, but then each individual vendor is responsible
for shipping and implementation of the library with their tools.
I think you can't really mix and match, yeah?
No. Generally you have to use a particular library with tools.
So, for example, our standard library only works on Windows with
our compiler. And it's largely... I mean, we use... it's tightly
coupled to the compiler. Like there's certain things in that
standard library that can only be implemented with help from
the compiler.
You have to know something about what's happening under the
covers in order to write the library.
Exactly. Yes. So there is some tight coupling there. But you
generally don't need to worry about it. When you get a compiler
package for Windows, you may be using ours, you may be using
another one, it will have everything you need, or it should have
everything you need.
That's the whole point of a standard.
Exactly. The one other thing to mention about the history is
because C++ is so old and because it didn't really start in 1979,
it started much earlier when C was invented, since it has mostly
retained backward compatibility with C, the important thing is
that it's really old and over the last 40 years we've learned
a lot about software development. So the way that we write clean
code today and how we know how to write the best code using the
best practices is very different from what we did 40 years ago.
And so a lot of code that you see out there in the wild is going
to be rather ugly or it may use a lot of non modern things.
It's really only been the last 15 years or so that we've really
started to understand how best to use the facilities that C++
has to write really great code.
Maybe a bit earlier in the '90s, but generally about 15 years
has been how long this modern C++ that we're going to be showing
you has developed.
Yes. So if you have a book that, I don't know, one of your
parents used in college to learn C++ from, please do not look
at that book. Like don't even open it. Because it's going to
be full of old-school, we don't do it like that anymore, that's
harder than it needs to be ways of coming at C++. And what James
and I want to show you today is that C++ is not a scary language.
It's a very powerful and expressive language with elegance and expressivity.
That's a word that I find myself using a lot lately about choosing
a way to write your code that makes it obvious to whoever reads
it what it does.
Yep.
And the scary tricks that people used to pull off with, no more.
Absolutely. And because of its age, there's often multiple
ways to do things. So, for example, we may see later today there's
many ways to initialize variables, at least three or four.
And this is largely because of age. Like there is one way to
do it in C, and then we learned, oh, hey, that doesn't work for
everything, so let's introduce a new way. So then we had two
ways, and they didn't really work very well, there were two of them.
So we came up with a third way, and it mostly works. And so
it's the third way that we'll be showing you, because you should
be using it pretty much everywhere in your code.
Right. So you may find C++ code elsewhere that doesn't look
exactly like what we're showing you. That doesn't make that
code wrong or our code wrong, it just makes them different because
we have a lot of different ways to do the same thing. But we
do kind of feel pretty strongly that our way is right for that
readability and expressivity.
Yep.

You might also like