3 ms·
> Neither c++ nor rust is a clear winner in portability C++ is the clear winner in portability because of GCC and the wealth of platforms it supports. You can
by _zagj 2y ago
> Neither c++ nor rust is a clear winner in portability
C++ is the clear winner in portability because of GCC and the wealth of platforms it supports. You can argue you don't care about supporting, e.g., OpenBSD on PPC, but trying to hand-wave away this advantage C++ has over Rust is disingenuous.
- mst 2y agoC++ is the clear winner in what portability is possible. But as they outlined, in a lot of cases achieving it is substantially more effort per arch+OS+version target than Rust. Getting a better ROI on your time is a valid reason to consider something better for your use cases.
- whytevuhuni 2y agoIt's not disingenuous, you just missed this part: > but in some ways rust makes it easier to support multiple platforms than it is in c++ The ease of installing Rust on Windows has helped build a culture of cross-platform libraries/crates, and so it's significantly easier to build applications that support more platforms than C++. Take a library for coloring text on a console, and chances are, it'll work on cmd.exe too (despite that not even using ANSI escape codes). Take a library for loading other libraries, and it will load .so, .dll, and .dylib too, with feature-gated methods to deal with each platform's quirks. Rust's standard library helps a bit, e.g. it isolates platform-specific modules into things like std::os::unix and std::os::windows, so it's a bit more obvious when you're trying to use something that won't work on all platforms. However, it's more just a cultural thing; many Rust things work cross-platform now, people see how nice that is, and so people try to maintain the status quo. With C++, you often need MSYS or Cygwin, and those have their own limitations; you can certainly make something in C++ that won't need them, it's just harder in comparison.
- thayne 2y ago> but trying to hand-wave away this advantage C++ has over Rust is disingenuous. I'm not trying to hand wave that away. That is an advantage c++ has. But if you only care about supporting platforms that rust supports, rust can make supporting all the platforms you do care about easier than if you used c++.