Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Be serious about change, re-write it in Zig
  • can it be done? C codebase are obviously missing the lifetime information, type-generic arguments are just void*, in/out arguments aren't explicit... or at least, the information is scattered across the codebase, and might be inconsistent. a "safe rust" might not be even possible
    by dgan
  • Not the same as:

    https://github.com/uutils/coreutils

    Although I could see them benefitting.

  • The real difficulty of systems programming in C is due to syscall/POSIX/libc semantics like the interplay between signal handling and async readv/writev resumption. These things are way beyond what the borrow checker and coverage-guided fuzzers can deal with and consist the bulk of vulnerabilities. Rust won't save you from CopyFail; you would need hardcore formal verification like TLA+ coupled with F* /Low* /Pulse to catch it before release. AI (or manual) Rust rewrites of well trodden C code is calling for trouble more than anything else.
  • Great stuff. Instead of asking and funding the C developers of the respective projects for a port, they go for license washing and stealing.
  • The Darpa Tractor project looks to achieve the same:

    https://news.ycombinator.com/item?id=41110269

    Just a few weeks back it was judged as unlikely to succeed. Now Canonical want to get in.

  • I have no particular religious preference for a language. One uses what one feels is appropriate.

    But, let's say this effort is a complete success. What's next?

    Can all the maintainers of the c codebase move over to maintaining (forward) the Rust codebase. Surely there'll be some friction, and losses to friction.

    What about deployments, monitoring, support and trouble-shooting? Are the teams that perform those functions now capable of performing those functions in the future? It seems to me that the here-to-there for functional, evolving and reliable systems in the real world has been elided and become simply "a player to be named later".

Explore Birbla archives