On Thursday, 28 January 2016 at 16:12:44 UTC, jmh530 wrote:
the standard library or not. As discussed elsewhere, there are
clearly benefits to putting some things in phobos (if only for
providing a framework for others), and there are costs as it
gets too large.
That's the maintenance costs, but there are other related costs:
1. It takes a lot of work to get it in, you have to negotiate
with non-domain experts to get in improvements.
2. The presence of sub-optimal standard functionality discourage
development of slightly better functionality as a third party
solution. So you loose evolutionary advantages.
3. You cannot easily modify it as it is distributed with the
compiler. A standard library is essentially an API with a
reference implementation, but compilers can do whatever they want
in terms of implementation. Changes can therefore lead to
incompatibilities between compilers.
4. You cannot easily fix bugs, because applications depends on
the old behaviour. So a bug fix is a breaking change. You have to
deprecate and provide the same functionality under a new name
instead.
External libraries can avoid a lot of these issues by versioning.
Selecting between many different versions of submodules of a
standard library is way too complicated.