3 ms·
I'm guessing this won't be a major problem. I don't know any proficient Rust or C++ developers that are not also proficient C developers. I do wonder when eve
by hedora 3y ago
I'm guessing this won't be a major problem. I don't know any proficient Rust or C++ developers that are not also proficient C developers.
I do wonder when even more C code bases are going to start seeing modules ripped out and replaced with Rust.
This is already happening with Linux, curl, and with C++ stuff like Chrome, many MS products, Amazon S3, etc, etc. The biggest explicit holdout I know of is OpenBSD, and that's because they're trying to keep the bootstrap / base install toolchain small.
- phamilton 3y ago> I'm guessing this won't be a major problem. I don't know any proficient Rust or C++ developers that are not also proficient C developers. There's a growing trend in high level languages like Ruby/Elixir/node to use Rust + FFI to optimize specific hot code paths. Likewise, pgrx is a much more approachable path towards postgres extension development. All of these development paths have always been available with C, but Rust has made them more accessible to a wider range of developers. I'd wager a non-trivial number of Rust developers don't feel comfortable in C.
- shrimp_emoji 3y ago> I'd wager a non-trivial number of Rust developers don't feel comfortable in C. https://img.ifunny.co/images/5dd3adca9d0da5310faa752ddd53565372ddfd0b572e8a63a4e3a70ea13ed372_1.jpg https://img.ifunny.co/images/5dd3adca9d0da5310faa752ddd53565...
- rafaelmn 3y agoI'm not proficient at C++ but I have written a decent amount of it (although not in years) While I'm sure I'd be able to pick up on the style of the project, it would take a lot of time. Large scale C looks completely different to C++. No RAII, no classes, virtual dispatch, smart pointers. Containers are completely different, templates/generics only via preprocessor. I think C requires a lot more conventions and experience to get correct code than C++, and especially Rust.
- beautron 3y ago> No RAII, no classes, virtual dispatch, smart pointers. I enjoy programming more when the above concepts are absent. RAII and smart pointers tend toward a fragmented and confused layout of a program's memory—there are much simpler ways! The arena concept for managing your program's memory is more straightforward. It's easier to think about (not confused) and it becomes natural to have your memory laid out nice and orderly (not fragmented, which can be horrible for performance). See the recent article by Ryan Fleury: https://www.rfleury.com/p/untangling-lifetimes-the-arena-allocator https://www.rfleury.com/p/untangling-lifetimes-the-arena-all... I also think life is easier without classes or virtual dispatch. I value a sort of "mathematical elegance" in programming languages, and prefer to create programs from a small set of fundamental language primitives. Classes and virtual dispatch don't earn their keep in that set.
- rafaelmn 3y agoI'm not arguing C++ is better than C since I have never worked on a non-trivial pure C codebase. I'm just saying enough things from C++ are not available that even tough the language is roughly a subset of C++, how you end up using it is completely different and not a lot of experience/patterns carry over. Even less for Rust I'd say.