(no title)
tasn | 10 days ago
Edit: changed "perfect" to "improve", as I meant "perfect" as "betterment" not in terms of absolute perfection.
tasn | 10 days ago
Edit: changed "perfect" to "improve", as I meant "perfect" as "betterment" not in terms of absolute perfection.
aatd86|10 days ago
At least it is my experience building some systems.
Not sure it is always a good calculus to defer the hard thinking to later.
JetSetIlly|10 days ago
For stuff in the standard library proper, the versioning system is working well for it. For example, the json library is now at v2. Code relying on the original json API can still be compiled.
strawhatguy|10 days ago
I like go's library it's got pretty much everything needed out of the box for web server development. Backwards compatibility is important too.
incrudible|10 days ago
TheDong|10 days ago
Rust on the other hand has "log" as a clear winner, and significantly less overall fragmentation there.
dwattttt|10 days ago
But this does more than just add a maintenance burden. If the API can't be removed, architectural constraints it imposes also can't be removed.
e.g. A hypothetical API that guarantees a callback during a specific phase of an operation means that you couldn't change to a new or better algorithm that doesn't have that phase.
bobbylarrybobby|10 days ago
Letting an API evolve in a third-party crate also provides more accurate data on its utility; you get a lot of eyes on the problem space and can try different (potentially breaking) solutions before landing on consensus. Feedback during a Rust RFC is solicited from a much smaller group of people with less real-world usage.