Vision for the first semester of 2016
tsbockman via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue Jan 26 15:04:57 PST 2016
On Tuesday, 26 January 2016 at 22:48:23 UTC, Ola Fosheim Grøstad
wrote:
> On Tuesday, 26 January 2016 at 22:33:32 UTC, tsbockman wrote:
>> characteristics for basic infrastructure. People shouldn't
>> have to rewrite their entire stack every 6 months just because
>> someone thought of a better API for some low-level component.
>
> Then don't use libraries from unreliable teams.
Just using the standard library whenever possible is a simple and
efficient way of accomplishing this - if the standard library
actually has anything in it...
>> Making it through D's formal review process typically raises
>> code quality quite a lot, and the knowledge that backwards
>> compatibility is a high priority makes outsiders much more
>> likely to invest in actually using a library module.
>
> Code quality is one thing, but if it has not been used in many
> applications, how can you then know if the abstraction is
> particularly useful?
This is why requiring modules to spend some time on DUB and/or in
`std.experimental` before freezing the API is important.
> In general the standard library should just be the most basic
> things, even file system support is tricky for a system level
> programming language. For instance, on some cloud platforms you
> don't get to read/write parts of a file. You do it as one big
> atomic write/read.
Targeting 100% generality with APIs is pretty much always a bad
idea.
Standard libary modules should endeavor to meet the needs of at
least, say, 80% of potential users; they're not supposed to
completely eliminate the need for specialized third-party
libraries entirely. This is OK, because if you don't use a
module, the compiler won't include it in the final executable.
More information about the Digitalmars-d-announce
mailing list