Bjarne Stroustrup: C++ Implementations - Clang, GCC, Microsoft, and EDG
ZQds2aGHwDA • 2019-11-09
Transcript preview
Open
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
Resume
Categories