On Tuesday, 26 August 2014 at 08:15:07 UTC, Marc Schütz wrote:
On Tuesday, 26 August 2014 at 06:12:54 UTC, Mike wrote:
The C standard library and C++ standard library are not part
of D-the-language. D would even be better served by putting
these features in phobos as std.stdc and std.stdcpp. This
would make them just as conveniently available to users, and
reduce the coupling between the language and the platform.
But stdc is its own subpackage in druntime, it's already very
modular. It should be easy to remove if you want to create a
minimal druntime. For stdcpp, this will be even more true.
Up until now, Phobos consists of mostly high-level modules,
while those closer to the OS, and the compiler-dependent parts,
reside in druntime. I think this is a good division.
My argument isn't about making my own hobby D Runtime. It's
about THE D Runtime and more importantly D-the-language (not
library routines and OS bindings).
There's quite a bit in the D Runtime that's not relevant to the
language. I'm guessing it's there because it was convenient at
the time. Take a look at the controversy 11666 caused. It had
nothing to do with the language or it's portability, and
everything to do with how to expose the Linux kernel headers.
Just as it is right to separate Phobos from druntime, it is right
to separate the language from the platform. It will ensure D's
longevity and our return on investment for learning and
contributing to this language. (You will likely not be
programming the platform you're currently programming in 5 years)
I'm not interested in Go, Rust, and other application and server
programming languages. I want an alternative to C/C++ (and I'm
not talking about libc, libm, and libcpp, I'm talking about the
D has a lot of potential beyond it's current use. Please take
this opportunity to reflect on what's been done, take a look
ahead, and see if we can set a better precedent for the future.