Re:Time safety is more important than memory safety
by giornogiovanna on Thursday February 13, 2020 @06:23PM
(#22322393)
Honestly, if you care about longevity, Rust simply isn't the language yet. I'd at least wait until there's a specification and a GCC frontend.
Anyway, C does have some benefits as a programming language.
• "Legacy" projects like Linux and CPython will keep it alive for decades to come.
• It's extremely portable. Rust is less portable, and even when Rust supports a niche platform, it's relatively clunky to get things started.
• C libraries are always very easy to call from other languages. Rust isn't quite there yet, and translating things like traits can be a bit of a pain.
Re:Time safety is more important than memory safety
by 95th on Friday February 14, 2020 @04:55AM
(#22325303)
Agree. At work, we have a component written in Pro* C (C + Oracle). It's about 20 years old code. All the original developers are now gone and now we're all Java developers. We had a segfault last month in production. No one was confident in the fix we did because even though we all know C (more or less), no one knew the pitfalls of C. Segfault happened in string formatting which is a very trivial thing to a Java developer. It's not yet rewritten in better language yet not because C is such good language but because rewrites are a pain. But because of the last segfault, the business is now more motivated to have it rewritten in Java.
Just because C happens to be a long used language doesn't mean you shouldn't be using newer and better languages and that those languages can't be used for a long time too.
C is used not due to big benefits, but mostly for legacy reasons today. Basically a lot of projects are already stuck with it. But for new ones, surely use Rust, not C.