Hacker News new | ask | show | jobs
by bobthebuilders 1222 days ago
Rust is definitely the worst language for this, writing curl in C++ would unlock memory and type safety while not throwing 30 years of language design out the window.
2 comments

The worse thing than rewriting curl in Rust, would be to rewrite it in C++.

Leave it in C, or if you really have to, choose a safe language for the next 25 years. C++ ain't it.

You really don't need to throw out all at once, you can just replace those components that profit most from rust guarantees, like where you parse external untrusted inputs first, with FFI one can then integrate that in the current code base without any calling overhead. Rinse repeat with next thing you profit most one, i.e., more like a Ship of Theseus process.

Doesn't even stops at C projects, we integrate rust code for perl using our perlmod crate: https://git.proxmox.com/?p=perlmod.git;a=summary

E.g., our OpenID Connect integration was done once in rust, and then integrated in our older, still mostly perl based projects using perlmod:

https://git.proxmox.com/?p=proxmox-perl-rs.git;a=blob;f=pve-...

(fyi,above is just the "glue" code, the proxmox-openid stuff is in its own crate in the proxmox workspace).1

There exists something for python too, called pyoxide IIRC.