Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Curl turns 25 years old GitHub Celebration (github.com/curl)
80 points by jicea on Feb 11, 2023 | hide | past | favorite | 10 comments


> Exactly on curl's 25th birthday, we will ship curl 8.0.0.

Funny, posted https://daniel.haxx.se/blog/2013/03/23/why-no-curl-8/ here in a reply, only a couple of days ago - but I missed there was an update:

https://daniel.haxx.se/blog/2021/09/13/heading-towards-curl-...


I' m grateful for curl and libcurl. It's a gem of our stack, a strong and robust tool to build upon. I maintain a project [1] that can't exist without libcurl so a big thanks!

[1]: https://github.com/Orange-OpenSource/hurl


Congratulations on a timeless library that is “just there”, doing what it does as reliably as ever.


Yeah but who's going to write the future rust replacement?


Seems Daniel got you already covered, albeit it's more co-existence, as you can select a rust based backend for curl:

https://daniel.haxx.se/blog/2022/02/01/curl-with-rust/


Oh snap, definitely a step in that direction.

I didn't know about that so to me the playing field was open for a curl replacement in rust to take off.


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.


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.


I’m mildly jealous of the 25 year old single malt that Daniel got to celebrate. https://mastodon.social/@bagder/109840957729621999




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: