Hacker News new | ask | show | jobs
by gitweb 2025 days ago
C is not C++. There is a reason core services for DHCP, DNS, etc are built in C and not Rust. If you're a careless developer you can have security vulnerabilities in any language.
3 comments

The reason they're built in C is legacy and the fact that Rust hasn't been around all that long.
Well, what's stopping you from rewriting it in Rust?
That's only true on Linux and other systems where the kernel has been written in C. On some platforms the kernel provides no backwards compatibility guarantees and that means backwards compatibility is handled by libc. This means C is enshrined into the platform and often the path of least resistance.

There was also a pure Rust Wayland binding that failed because Wayland assumes that you are using C semantics which made it hard to provide a safe interface for Rust that was also convenient.

Yes, and that good reason was that Rust did not exist.