Transcript
ZQds2aGHwDA • Bjarne Stroustrup: C++ Implementations - Clang, GCC, Microsoft, and EDG
/home/itcorpmy/itcorp.my.id/harry/yt_channel/out/lexfridman/.shards/text-0001.zst#text/0182_ZQds2aGHwDA.txt
Kind: captions
Language: en
it says there differences in your view
not saying which is better or so on but
difference in the different
implementations of C++ why are there
several sort of money of you naive
questions for me
GCC clang so this is a very reasonable
question when I designed C++
most languages have multiple
implementations because if you wanna I
p.m. if you run on the Sun if you wanna
Motorola those just many many companies
and they each have their own compilation
structure the old compilers it was just
fairly common that those many of them
and I wrote C front assuming that other
people would write compilers for c++ if
i was successful and furthermore i
wanted to utilize all the backend
infrastructure were available I soon
realized that my users were using 25
different linkers I couldn't write my
own linker yes I could but I couldn't
write 25 linkers and also get any work
done on the language and so it came from
a world where there was many linkers
many optimizers many compiler front ends
not not to start but over at many
operating systems the whole world was
not an 86 and linux box or something
whatever is the standard today in the
old days they said a set of X so
basically I assumed there'd be lots of
compilers it was not a decision that
there should be many compilers it was
just a fact that's the way the world is
and yes many compilers emerged and today
there's at least four front ends clang
GCC Microsoft and EDG it is the same
group they they supply a lot of the
independence organizations and the
embedded systems industry and there's
lots and lots of backends we have to
think about how many dozen begins there
are because different machines have
different things especially in the
embedded world the machines are very
different the architectures are very
different
and so having a single implementation
was never an option
now I also haven't disliked monocultures
monocultures they are dangerous because
whoever owns the monoculture can go
stale and there's no competition and
there's no incentive to innovate there's
a lot of incentive to put barriers in
the way of change because hey we own the
world and it's a very comfortable world
for us and who are you to to mess with
that so I really am very happy that
there's four front ends for C++ clanks
great but GCC was great but then it got
somewhat stale plane came along and GCC
is much better now competition why
Microsoft is much better now so hello at
least a low number of front end puts a
lot of pressure on
stand-ups compliance and also on
performance and error messages and
compile time speed all this good stuff
that we want do you think crazy question
there might come along you hope that
might come along implementation of C++
written given all its history written
from scratch so written today from
scratch well playing and the LLVM as
more less written by from scratch but
there's been c++ 11 14 17 20 you know
this is a lot you know later somebody's
going to try again there has been
attempts to write new C++ compilers and
some of them has been used and some of
them has been absorbed into others and
so it's yeah it'll happen
you