Proof of concept for v2 - NO duplication, NO `static if` hell, NO difficulty with interoperability
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Sun Oct 31 19:50:48 UTC 2021
On Sunday, 31 October 2021 at 19:14:11 UTC, Imperatorn wrote:
> Well, you're right in a sense. But I think this is more of a
> pragmatic question rather than structural / pedagogical.
I think people kinda have lost what a standard library is
supposed to be. There are two sensible viewpoints in my view:
1. The standard library is covering functionality all programs
need, to save double work.
2. The standard library is covering those features that the
language designers wanted to add to the language, but discovered
they could do in a library instead.
But bloated standard libraries like those of Python have mixed
this up with application level libraries. Which kinda works for
Python, as it is a scripting language. I think the success of
Python has made people copy this model…
In my view a standard library should be specced as an
architecture of interfaces, then implemented, not evolve as an
implementation exercise.
So, Andrei's perspective here is wrong. A standard library is not
about who implements it. It is about speccing an architecture and
feature set that is solid and tight, then open up for competing
implementations (which is a «vendor issue»).
A sure sign of bloat is if there are numerous functions in a
standard library that are not used much. C++ provides a few
examples of ill-conceived extensions… For a small language this
is even more important; less usage means more flaws/bugs, which
in turn cannot be fixed because in a standard library bugs become
features as existing programs may depend on them.
More information about the Digitalmars-d
mailing list