5 ms·
That alone doesn't explain why clang conformance was very good till c++17 and then suddenly fell behind. The major clang contributors decided to focus their att
by gpderetta 5y ago
That alone doesn't explain why clang conformance was very good till c++17 and then suddenly fell behind. The major clang contributors decided to focus their attention elsewhere,
One guess is because they didn't get what they wanted within the committee.
- pjmlp 5y agoGoogle basically withdraw from clang after they lost the ABI vote, and Intel is now taking care of what used to be mostly Google stuff. If I remember correctly some discussions on /r/cpp. As for Apple, OP is right, Metal Shaders are based on C++14 dialect, IOKit/DriverKit use an Embedded C++ dialect, and for everything else there is Objective-C/Swift, and they only need enough C++ to use LLVM to develop them.
- 3836293648 5y agoWas google pushing for breaking the ABI?
- codys 5y ago- a WG paper by a google employee regarding breaking the C++ ABI: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1863r1.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p186... - A post about a C++ ABI break being voted against: https://cor3ntin.github.io/posts/abi/ https://cor3ntin.github.io/posts/abi/ I would not be surprised if google (or others in favor of breaking the ABI for the c++ standard library) would refocus on their alternate non-std std-replacement-ish library implementations (like abseil) instead given the lack of willingness to fix things in std proper from the committee.
- 3836293648 5y agoYeah, I've seen both of those before, but was unsure if it was just the position of a single Google employee or the position of google as a whole, as you made it sound like Google the company had actually taken such a stand
- lenkite 5y agoThe permanent-ABI compatibility decision was effectively the death-knell for C++. Can't improve the standard library performance, making it effectively useless for the real world. Can't correct mistakes - the language and library warts grow and grow as the years pass by, making it impossible for beginners to pick up and learn the language. Frankly, Google should fork C++ and create a new language without the warts and a new standard library.
- ok123456 5y ago> Frankly, Google should fork C++ and create a new language without the warts and a new standard library. That's how we got golang.
- qalmakka 5y agoGolang isn't really a C++ replacement, the performance metrics just aren't comparable. It's more of a Python replacement, for those applications where it would be just too slow, forcing you to write C or C++ because that's still the #1 way to accelerate your Python. Sure there are compilers such as Cython or Nuitka, but they just do not suffice when you _really_ need to speed up your code.
- zarzavat 5y agoIn C++‘s heyday there were things such as OKWS[0] web application server. Yes externally C++ was no so popular in such situations, but at Google they had/have many such C++ services and that was the motivation behind Go - a safe language to build mostly-IO-bound-but-a-little-bit-CPU-bound services. Another example of this shift would be that Bitcoin’s reference impl (2009) is written in C++, whereas Ethereum’s reference impl (2015) is written in Go. [0] https://okws.org/ https://okws.org/
- pjmlp 5y agoThey still mostly do, that is where Abseil is used. Go has more mindshare outside Google than on Google's critical infrastructure.
- jeffbee 5y agoI still see a lot of google contributions to llvm recently. For example the mem* functions.
- tialaramex 5y agoYes. For example (there are a lot more) Vittorio's Epochs proposal P1881R1: https://www.youtube.com/watch?v=PFdKFoQxRqM https://www.youtube.com/watch?v=PFdKFoQxRqM Now, one of the things which you may have noticed really annoys C++ proponents here on HN is when people say "What Rust does..." and well, maybe Vittorio should not have done that in his talk. But the reason he's saying it is that although Rust has very few new ideas it popularises lots of existing ideas from PL theory that were not seen in the kind of languages C++ developers had experience with before. A few slides in, Vittorio explains that he's not offering language fragmentation or dialects, an ABI break, or yet more stuff every programmer needs to learn. Nevertheless, criticisms of Epochs generally say that this is language fragmentation, it introduces dialects, it's an ABI break, and every programmer will have to learn all this extra stuff so it's hopeless...