Proof of concept for v2 - NO duplication, NO `static if` hell, NO difficulty with interoperability

Ola Fosheim Grøstad ola.fosheim.grostad at
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