Yeah, this is just trolling. There's nothing inherent to rust that requires ( or even recommends) writing code like this. There's nothing inherent to C that prevents bad API designs like this.
Nothing about this post is notable or interesting. It's low-effort rage bait.
"There's nothing inherent to C that prevents bad API designs like this."
I don't have any data to back this and library interface designs are so personal taste-prone, but I would say that the average Rust crate has a better API than the average C library.
The JavaEE APIs essentially set the example for everybody to then imitate. Of course it didn’t help that design patterns were in peak fashion. The Java core language is small, and most of the SE APIs aren’t particularly byzanthine. But EE then went all in for some reason.
This was my first thought as well. Rust certainly lends itself to unnecessarily complicated API designs, but so does C: OpenSSL requires something like 5-6 layers of indirection to do basic things like converting a sequence of X.509 structures into a buffer of PEMs.
I've yet to discover a language that doesn't allow a sufficiently clever engineer paint themselves into a corner with API complexity. Even deliberately simple languages like Python suffer from this.
mjb|2 years ago
Nothing about this post is notable or interesting. It's low-effort rage bait.
practicalrs|2 years ago
I don't have any data to back this and library interface designs are so personal taste-prone, but I would say that the average Rust crate has a better API than the average C library.
sumeruchat|2 years ago
Sharlin|2 years ago
shrimp_emoji|2 years ago
woodruffw|2 years ago
I've yet to discover a language that doesn't allow a sufficiently clever engineer paint themselves into a corner with API complexity. Even deliberately simple languages like Python suffer from this.