3 ms·
Problem with that approach is best demonstrated with Python. Standard library usually comes with strong backwards compatibility guarantees. So it becomes ossif
by Ygg2 5y ago
Problem with that approach is best demonstrated with Python.
Standard library usually comes with strong backwards compatibility guarantees. So it becomes ossified over time. Leading to - standard lib is where libraries go to die.
Without stability guarantee, you risk introducing breaking changes between versions, which is worse. And inferior to just downloading a lib with most stars.
- lifthrasiir 5y agoThere are three approaches to standard libraries: 1. Include as much as possible. This has been Python's approach and is showing its limitation: you end up with lots of historical baggages you can't maintain. It took an eon to remove some dead batteries from the Python standard library [1]. 2. Exclude as much as possible. This is the preferred approach for most newer languages, which can't readily determine at which direction the language would be heading. These languages tend to weigh more on third-party libraries with their pros and cons. 3. Pick use cases and design the standard library only for those use cases. It would mean that you have a near-total control over the language's evolution, so you can include whatever you want without thinking about its long-term consequence (because you know a new addition would be necessary for your use case). This can be often seen from some smaller languages, but Go is in my opinion the only mainstream language using this approach and that's only possible due to Google's involvement. [1] https://peps.python.org/pep-0594/ https://peps.python.org/pep-0594/
- pjmlp 5y agoWith the benefit of being available everywhere CPython exists, third party is hit and miss, and maybe require C or C++ compilers as well.