Hacker News new | past | comments | ask | show | jobs | submit login

This is a pretty short sighted conclusion.

Adding a library dependency takes you all of 10 seconds. Committing to supporting a standard library function that gets deprecated down the line is an endless effort.

I love that Python has a standard library that's thorough enough to do productive work with. But anyone who uses python seriously has to drop those on favor of more modern external deps, sooner rather than later, and so we're back to square one.

Well, no, not really. You see, saying that it takes 10 seconds to add a dependency is really saying "I add dependencies by picking the first thing that shows up when I type '[problem] rust' and then I copy the example code in the README and tweak it until it does what I want", which is unfortunately how many projects are run but exactly how you set yourself up for all the problems that come with dependencies–licensing, transitive dependency bloat, quality issues, poor maintenance… The only way out of that problem is that you spend way longer auditing whatever it is that you're adding for all those things, at which point I think you'll begin to understand why I am asking for the standard library to meet my use cases more often. (And you will notice I specifically shied away from potentially controversial dependencies: no networking, no JSON, no databases…these are things that deal with information that the language implementers would know best about anyways).

Now, I fully understand that when something gets added to the standard library it needs to be supported. I'm saying "Do it." Rust likes to claim that it is backwards compatible and all, and I do understand that the work that is done for this is non-trivial. But still, it's mildly annoying to hear that because there's this little voice in the back of my head that says "well yeah, because anytime something comes up that would need to be supported it just never gets added, so it ends up in a crate that is 'no longer part of Rust' when it breaks". Nobody is saying that we need to make Rust another Python (well, if there are then I would be glad to argue otherwise). But please, expand the standard library; make it possible to use the language for useful things without having to commit to 37 transitive dependencies. Maybe see if it's possible to start working with the more stable and widely accepted crates and moving them under the umbrella of the standard. That kind of thing.

I think you and the parent comment both make great points.

I definitely get the point about the additional load to maintain a deep standard library but, as someone from a heavy Python background who has only begun to dabble in Rust, it felt a little off to have to reach for a crate just to do a regex match on a string.

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