marfig at gmail.com
Tue Jan 20 01:35:29 CET 2015
In article <mailman.17862.1421705173.18130.python-list at python.org>,
zacharygilmartin at gmail.com says...
> Why aren't there trees in the python standard library?
I don't know much about python development process and strategies, but I
suspect it shouldn't be much different from any other language I know
of. So here's my tentative answer:
Once general purpose programming languages become established, the STL
maintainers tend to greatly decrease additions to the standard library,
except when this is required to support new language features. Most of
development on the STL shifts to code maintenance in order to improve
the quality of the code (usually to address memory usage and performance
concerns) and solve any existing bugs on the STL.
Instead the language maintainers start to rely on third-party libraries
as a continuation of the effort to extend the programming language
further. Any new additions to the STL are carefully pondered. The reason
1) Just like with the matter of data structures, many additions are
implementation-contentious. Trees, for instance, can be implemented in
any number of ways, some with an emphasis on performance, others on
memory usage. The decision of which implementation to choose isn't easy.
And if users can already choose different types of implementations from
the external libraries, then this is is probably motivation enough to
delay the decision for another day.
2) A standard library should focus first and foremost on support of the
language features. If for some reason this takes time away from adding
new entries into the STL, that's fine.
There's also the problem of how one should look at a standard library.
Some maintainers don't look very well at the idea of a monolithic
approach, while others, like Guido, like to think of a "batteries-
included" programming language, indicating a desire to build a large
STL. And this is why perhaps your question arises. But "batteries
included" doesn't mean build a "Total Library". That would be a vain
attempt for any general purpose language.
More information about the Python-list