Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a huge fan of Rust, I am very interested in people writing comments about what C++ does for them that I'm missing in Rust.

I want more C++ shilling in Rust threads, and I don't think I'm alone.

Please, give me detailed examples of how you can use SFINAE or whatever to express useful misuse-resistant abstractions that can't be expressed with Rust's feature set. Please tell me about classes of bugs you can prevent in C++ that can't be similarly prevented in Rust.

Or maybe C++ isn't safer, but it's more performant? Easier to use? Easier to learn? Easier to troubleshoot and debug?

I agree that the Zig comment that started this sub-thread didn't contribute to the conversation. If we disagree, although I'm not sure we do, it's in that I'd rather call for higher-effort comments about the benefits of other languages instead of fewer comments about them.



- GPGPU programing ecosystem like CUDA and SYSCL (note eco-system, not just a compiler that generates PTX code)

- Game engines like Unreal and Unity

- GUI frameworks like wxWidgets, Qt, MFC, WinUI

- Being the language of choice to contribute anything to GCC or LLVM

- Being the language of choice for the native libraries ecosystem and runtime extensions to plug into Java, .NET, nodejs.

- Being the language to write drivers in macOS (IO Kit/Driver Kit), and Android alongside Java (Project Treble)

- Being avaialble out of the box on macOS, iOS, Windows, Android, Playstation, XBox, Switch SDKs and respective IDE tooling

So you can decide to deal with some of C++ flaws, and enjoy 40 years of history, or spend part of your application development budget into building a Rust ecosytem.


> Windows

The C++ SDK is definitely not available out of the box on Windows. You have to install it (and update it manually!).


Only for those that chose the path of not using the OS vendor tools and don't install Visual Studio.

Not only it is automatically selected in the respective workloads that depend on it being avaiable, it gets updated.


Eigen, although often criticized for its long build times, is still the only linear algebra library that can lazy-evaluate and optimize expressions in compile-time, thanks to C++’s template metaprogramming.

In overall Rust’s current type system isn’t good enough to match what C++ has for numeric computations, although there have been some recent improvements such as the min-const-generics feature. I’ll probably try the language again once const generics are finished.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: