5 ms·
Of course they will. What they are less likely to do is to rewrite it in a completely different language (e.g. Rust.) C++ became popular in the first place beca
by zbird 4y ago
Of course they will. What they are less likely to do is to rewrite it in a completely different language (e.g. Rust.) C++ became popular in the first place because it could easily go along with C. No need to rewrite in bulk.
- stormbrew 4y agoThe thing is that C is still the lingua franca abi, so there's still no need to rewrite in bulk, you can still just use the same C libraries in another language, and rust is particularly well suited to doing that in roughly the same ways C++ is. What's getting harder and harder to see now is why, if you need to write new or rewrite now, you'd choose C++ over rust. In the long run that's a recipe for only the most gnarly old codebases being written in c++ and no one wanting to touch them.
- fortran77 4y agoWe're starting new projects today, in 2022. (We do Signal Processing code for the Position, Navigation, and Time industry.) It's all C and C++, and Python if we need a scripting front-end. (Prototypes are done in matlab). "Rust" doesn't even exist in our universe. I don't think the people on HN are really in touch with how real people program in the real world. And on few the occasions when we have to do a complex desktop GUI app, we'll use C# or F#. We can get cross-platform Windows/Linux easily this way.
- jolux 4y ago> I don't think the people on HN are really in touch with how real people program in the real world. I mean, I’m a real programmer in the real world. I think most people on here are. Rust is already in heavy use at Microsoft, Amazon, and Google, it’s not some fringe thing anymore.
- shubhamkrm 4y agoI have worked at two of the companies you’ve mentioned, and I can confirm Rust is not heavily used in these companies. Maybe a few teams use it, but it’s not really supported, and you won’t find many internal libraries and tooling support for it.
- jolux 4y agoThey’re using it to write useful, novel production systems software though. Fuchsia is in Google Nest Hub, AWS Firecracker is used in ECS Fargate and fly.io. I would say those represent major commitments to the language, and they’re both also novel as systems projects too.
- lallysingh 4y agoA lot of companies started with Java or Go, and will consider Rust without ever touching C++. The stigma alone is enough to turn people off. Hell it's going into the kernel in 6.1. C++ runs a real risk of surviving only in the embedded/realtime space in the next 10 years.
- mrkeen 4y ago10 years? That feels too short. C++ is all the operating systems and the browsers and the games and the JVM.
- SubjectToChange 4y ago> The stigma alone is enough to turn people off. C++ has been hated for decades now. The reason it's used is often because you have to. > C++ runs a real risk of surviving only in the embedded/realtime space in the next 10 years. Ten years from now C++ will still be the language underpinning LLVM, web browsers, geometric modeling, machine learning, etc
- lallysingh 4y agoRust means you don't have to anymore. While the old software codebases will keep using it, the new ones won't.
- bsder 4y ago> C++ runs a real risk of surviving only in the embedded/realtime space in the next 10 years. Embedded/realtime? No way. The people I know in embedded won't touch C++ with your 10 foot pole. Most of my embedded code is wrangling various "stacks" into cooperation with one another, and C++ helps me not one whit with that. At the other side, when I'm just poking sensors, C is more than enough. And, as much I would really like embedded communication stacks to be in Rust, all that would happen would be the vendors slapping "unsafe" on everything so they would basically be writing C anyway.
- sidlls 4y agoMore or less this. “Unsafe” as a value proposition loses its luster when it’s ubiquitous in a code base.
- sidlls 4y agoRust is still fringe even at FAANG level companies. I work at one such and we have a service or two written in Rust. I like Rust as a C++ replacement in the right context, but for 99.999% of applications it’s not better in any qualitative or quantitative way than C++. Or Java. Or Go.
- fortran77 4y ago> Rust is still fringe even at FAANG level companies. Yes, everyone knows that, except for HN users! While I'm sure there are managers at large companies who let some employees play with Rust, it's not used.
- stormbrew 4y agoI mean, I'm a HN user who just left one FAANG for another and I'm pretty confident this is changing a lot faster than you think. The thing that obscures this, I think, is that at most of them the surface area that the intersection of C, C++, and Rust that is high availability, security critical software, makes up a relatively small portion of what they do no matter what language it's in. So while there's a lot of C++ at say, Google and Facebook (but relatively little at Apple IME), very little of it needs to be in c++ let alone Rust. But where it matters? You better believe big companies are shifting towards "if you're starting new you should seriously consider Rust" (if not a mandate). And once you let one other language into your mix, the question becomes: why's all the high level stuff written in c++? May as well start new projects in Go. Some are farther along than others but it's a thing.
- lillecarl 4y agoHow do you write GUI apps in C# with Win/Linux support? Usually people don't go C# if they're doing GUI on other things than Windows. CLI/Server software is a first class citizen on Linux these days though.
- fortran77 4y agoThere are many ways! https://halfblood.pro/the-story-about-net-cross-platform-ui-frameworks-dd4a9433d0ea https://halfblood.pro/the-story-about-net-cross-platform-ui-... I like to use Xaml. For iOS/Android there are solutions, too.
- kllrnohj 4y ago> The thing is that C is still the lingua franca abi, so there's still no need to rewrite in bulk, you can still just use the same C libraries in another language No. C is the lingua franca for exported public stable ABIs, which is an extremely small subset of any given program's ABI usages. C++ ABI is just as widely used as C's, just for internal unstable linkage instead of stable exported linkage. So yes you still need to rewrite in bulk to move off of C++, unless your code happened to be tiny & only used C API libraries.
- Gibbon1 4y agoIf you had a better syntax and modules that fix C++'s broken (as in slow) compilation model, why on earth would you write anything in Rust?