Transcript
w7gIClKZ85s • Bjarne Stroustrup: C++ Standards - C++03, C++11, C++14, C++17, C++20
/home/itcorpmy/itcorp.my.id/harry/yt_channel/out/lexfridman/.shards/text-0001.zst#text/0243_w7gIClKZ85s.txt
Kind: captions
Language: en
but get back to the standardization we
are standardizing C++ under iso rules
which are very open process people come
in there's no requirements for education
or experience the start develop c++ and
there's a hope when was the first
standard established what is that like
the iso standard is there committee that
you're referring to she was a group of
people what it was that like how often
do you meet what's the disguise I'll try
and explain that so sometime in early
1989 two people one from IBM one from HP
turned up in my office and told me I
would like to standardize C++
this was a new idea to me and I pointed
out that it wasn't finished yet it
wasn't ready for former standardization
and such and they say no be honest I've
gotten it you you really want to do this
our organizations depend on C++ we
cannot depend on something that's owned
by another corporation that might be a
competitor of course we could rely on
you but you might get run over by a boss
right the old really needs to get this
out new it has to be standardized under
formal rules and we are going to
standardize it under ISO rules and you
really want to be part of it because
basically otherwise we'll do it
ourselves and we know you can do it
better so through a combination of
arm-twisting and flattery
Carolus started so in late
in late 89 there was a meeting in DC at
the actually no it was not ISO then it
was an see the American National
Standards were doing
we met there we were lectured on the
rules of how to do when ANSI standard
there was about 25 of us there
which apparently was a new record for
that kind of meeting and some of the old
see guys that it's been standardizing
see was there so we got some expertise
in so the way this works is that it's an
open process anybody can consign up if
they pay the minimal fee which is about
a thousand dollars still less then just
a little bit more now and I think it's
twelve hundred and eighty dollars it's
not it's not going to kill you
and we have three meetings a year this
is fairly standard we tried two meetings
a year for a couple years that didn't
work too well so three week three
one-week meetings a year and you meet
and you have taken meet technical
discussions and then you bring proposals
forward for votes the votes are done one
person per one vote per organization so
you can't have say IBM come in with 10
people and dominate things that's not
allowed and these organizations that
extends to the UC bus bus is yes this is
basic all individuals or individuals I
mean it's uh it's a bunch of people in a
room deciding the design of a language
based on which a lot of the world's
systems run right well I think most
people would agree it's better than if I
decided it or better than if a single
organization like agency decides it I
don't know if everyone agrees to that by
the way bureaucracies have their critics
- yes they there that the
standardization is not pleasant it's
it's it's horrifying
like democracy what we exactly as
Churchill says democracy is the worst
way except for or the others right and
it's about say the same reform of
standardization but anyway so we meet
and we we have these votes and that
determines what the standard is a couple
of years later we extended this so it
became worldwide we have standout of
organizations that are active in
currently 15 to 20 countries and another
fifteen to twenty are sort of looking
and and voting based on the rest of the
work on it and we meet three times a
year next week I'll be in Cologne
Germany spending a week doing
standardization and we'll vote out the
committee draft or C++ 20 which goes to
the national standards committees for
comments and requests for changes
improvements then we do that and there's
a second set of votes where hopefully
everybody votes in favor this has
happened several times first time we
finished we started in the first
technical meeting was in 1990 the last
was in 98 we voted it out that was
suspended that people used till 11:00 or
little bit past 11:00 and was an
international standard all the countries
voted in favor it took longer with 11
I'll mention why but all the nations
voted in favor and we work on the basis
of consensus that is we do not want
something that passes 6040 because then
we're going to get dialects and
opponents and people complain too much
they don't complain so much but
basically it has no real effect the
standards has been obeyed they have been
working to make it easier to use many
compilers many computers and all of that
kind of stuff and so the first the the
traditional with ISO standards to take
ten years we did the first one in eight
brilliant and we thought we were going
to do the next one and six because now
we're good at it right it took 13 yeah
it was named o X it was named
Oh X hoping that you would at least get
it in within the single within the arts
the single day I thought we would get
yeah I thought would gets
six seven or eight the confidence of
youth yes right well the point is that
this was sort of like a second system
effect that is we now knew how to do it
and so we're going to do it much better
and we've got more ambitious ambition
and it took longer furthermore there is
this tendency because it's a ten year
cycle boy age doesn't matter just before
you're about to ship somebody has a
bright idea yeah and so we really really
must get that in we did that
successfully with the STL we got the the
standard libraries all the STL stuff
that that I basically I think it saved
C++ it was beautiful yes and then people
tried it with other things and it didn't
work so well they got things in but it
wasn't as dramatic and it took longer
and longer and longer
so after C++ 11 which was a huge
improvement and what basically what most
people are using today we decided ever
again and so how do you avoid those
slips and the answer is that you shipped
more often so that if you if you if you
have a slip on the 10-year cycle by the
time you know it's a slip there's 11
years till you get it yeah now with a
three year cycle there is about three or
four years till you get it like the
delay between feature freeze and
shipping so you always get one or two
years more and so we shipped
14 on time we shipped 17 on time and we
ship we will ship 20 on time it's it'll
happen and furthermore this allow this
gives a predictability that allows the
implementers the compiler implementers
the library implementers to they have a
target
deliver on it 11 took two years for most
compilers were good enough 14 most
compilers were actually getting pretty
good in 14 17 everybody shipped in 17
well we are going to have at least
almost everybody's ship almost
everything in 20 and I know this because
they're shipping in nineteen predictably
this is good delivery on time is good
and so yeah that's great tell us how it
works
you