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.

Reply via email to