5 ms·
After most compilers started properly supporting the newer C++ standards, it seems there has been an increase in the amount of love that C++ libraries are getti
by rburhum 11y ago
After most compilers started properly supporting the newer C++ standards, it seems there has been an increase in the amount of love that C++ libraries are getting. A lot of people like the to say that [x] is superior to C or C++ - often ignoring that their favorite language's libraries/runtime/compilers/vm is most likely implemented in the very same languages they are putting down.
- derefr 11y ago> often ignoring that their favorite language's libraries/runtime/compilers/vm is most likely implemented in the very same languages they are putting down I don't see how that's an argument against a language being "superior to C or C++". You can't create a self-hosting compiler for your language without having already created a non-self-hosting compiler for your language. That means every language is going to have to be "bootstrapped" in terms of something else first. C is the usual candidate just because there are a plethora of useful compiler/runtime/vm-ish libraries people like to rely on for "language prototyping" that expose C bindings—and there are very few other languages than C/C++ that have zero-overhead, zero-friction C binding support. Rust is one of those languages—and it does indeed look like things are going in the direction of new languages getting prototyped/bootstrapped with a Rust compiler/runtime/vm instead.
- santaclaus 11y ago> Rust is one of those languages—and it does indeed look like things are going in the direction of new languages getting prototyped/bootstrapped with a Rust compiler/runtime/vm instead. I'm curious what examples you have in mind here? LLVM seems to be the default go-to compiler infrastructure, at the moment.
- pjmlp 11y ago> After most compilers started properly supporting the newer C++ standards, it seems there has been an increase in the amount of love that C++ libraries are getting. Sadly there are many more compilers out there than just gcc, clang, icc and msvc++. Many of those aren't still C++11 compliant, specially in mainframes, classical commercial UNIXes, embedded real time OS and certified compilers. But it is true, thanks to the productivity of latest standards, there has been an increase in C++ visibility, specially thanks to Microsoft. People like to bash their C++'s compliance, but they are the commercial vendor with the more up to date support, even than icc last time I checked. Also they were the main sponsors for Back to native conferences and eventually making it together with CppCon. https://blogs.msdn.microsoft.com/vcblog/2014/04/03/cppcon-the-c-conference/ https://blogs.msdn.microsoft.com/vcblog/2014/04/03/cppcon-th... Also Windows Phone is the only mobile OS where C++ is a first class language. >. A lot of people like the to say that [x] is superior to C or C++ - often ignoring that their favorite language's libraries/runtime/compilers/vm is most likely implemented in the very same languages they are putting down. A lot of people like to point out that fact, ignoring that many compiler writers tend to use C or C++ out of convenience for existing tools instead of bootraping the full eco-system around a new programming language. Many use the same route as Go, using one of those languages and when the toolchain gets mature, those parts get re-writen. All in all, I do like the language, now if we could get rid of those C underpinnings...
- santaclaus 11y agoIntel's C++11 support continues to be quite buggy. I'm still running into with issues with Intel's support for auto type deduction and for uniform initialization in non-obscure use scenarios.
- pjmlp 11y agoSorry I was updating the comment as you replied. I never used it, but last time this discussion came up and I searched for their support page many C++11 features were either TBD or GNU/Linux only. Thanks for the feeback.
- vvanders 11y agoWindows phone, first class C++? Man the times have changed. I remember when they made native code verboten in the Windows Mobile -> Windows Phone transition. Killed off a whole product line I was working on at the time.
- pjmlp 11y agoYes, you can either use C++ plus the C++/CX extension, which although look like C++/CLI are actually native. Making Visual C++ GUI developer experience finally comparable to what C++ Builder was offering in the mid-90's. Or if C++/CX extensions is something one hates, there is the Windows Runtime Library, a template based library similar to ATL. Finally Kenny Kerr has created a C++ projection based in pure modern C++ ans has been eventually hired by Microsoft to carry on his work. https://kennykerr.ca/2015/10/02/microsoft/ https://kennykerr.ca/2015/10/02/microsoft/ iOS comes second in terms of C++ support in mobile OS, where Objective-C++ plays the same role as C++/CX on WP. Just Android forces developers to enjoy the wonders of JNI, with APIs like Skia only exposed through it. I know that there are a few other mobile OSes that do support C++, but their market share coupled together is even worse than WP.
- chetanahuja 11y ago"Also Windows Phone is the only mobile OS where C++ is a first class language." Umm... I don't know how you define "first class language" but our SDK (networking stack) compiles C++ code right in the same XCode project with ObjC code without any sort of translation layers etc (a la JNI in Java) between the two.