this post was submitted on 21 Dec 2024
44 points (94.0% liked)

Rust Programming

8239 readers
2 users here now

founded 5 years ago
MODERATORS
 

It seems quite clear that rust users use hyper but few of them want to work on making it work for a C project like curl, and among existing curl users there is virtually no interest in hyper. The overlap in the Venn diagram of the two universes is not big enough.

top 4 comments
sorted by: hot top controversial new old
[–] livingcoder@programming.dev 1 points 2 days ago

At first I was disappointed to see this, but after looking into it it looks like they weren't using hyper as a means to migrate the project to Rust. If they're not going to move away from C, it seems like a fair decision.

[–] syklemil@discuss.tchncs.de 12 points 5 days ago

I think my usecase of curl is entirely covered by hyper (I just use it for http/s with a small handful of flags); but I also have absolutely no idea what goes on inside curl or how my distro chooses to build it.

Rebuilding curl to use Rust here and there (it still supports rustls and quiche) seems like an interesting undertaking, but yeah, I suspect most curl users don't build it themselves and have no idea what experimental features it could be built with. Guessing the curl survey has data for that.

Stenberg seems like a cool dude and this seems like an amicable split.

[–] pr06lefs@lemmy.ml 4 points 5 days ago (1 children)

I occasionally use curl myself but never really thought about what language(s) it used in its implementation. Curious if there are power curl users to whom its internal implementation details would really matter. For me its mainly just testing my own websites and vulns there are unlikely. If I was using curl to scrape a lot of sketchy sites I might care about its memory security more.

[–] BB_C@programming.dev 3 points 5 days ago

The most important part of curl is the library, not the CLI tool. And the TLS backend is very much relevant due to varying features supported, different licenses involved, and varying levels of ease when it comes to building and distribution.

That's when you're providing binaries. Otherwise, you would have to be wary of potential compatibility issues with libcurl packages provided by different Linux distributions for example.

See CURLOPT_ECH for a recent and still evolving example of this.