On Thursday, 4 January 2018 at 10:18:29 UTC, Dan Partelly wrote:
Yes, disabling GC might have been a feature early on. But not
early on enough to not have core language features depending on
it, and not early enough to have a std not depending on it.
Modifying the std to be more compatible with this scenario is
indeed happening, but as you say it is a process which started
years ago, and its still dragging on, and no clear docs with
what works and what not.
I fundamentally disagree with the idea that core features
shouldn't depend on the GC. I love that they do. As for Phobos, I
also don't expect it to be completely GC-free. If there are parts
of it that can be but aren't, then perhaps a PR?
Rust has a OS being written right now. Does D has ? Anyone ever
wanted to use D to write a OS kernel, I doubt it.
There have been at least three kernels in D that I know of, the
most recent being PowerNex. However, I'm unaware of any that are
non-hobby projects.
Is anyone
seriously thinking today to port their *working* and maintained
C code bases to D, possibly introducing new bugs in the process
? (yes some people like Walter did, Im aware of this. But I
doubt this will have any serious adoption)
I can't answer for Walter, but my understanding is yes, there
are. He and Andrei have communication with interests outside of
these forums.
The whole point of -betterC is to *avoid* the introduction of new
bugs. It allows you to port your C code directly to D with very
minimal changes. You can convert a function to D, compile the
object, link the program, and make sure it works as expected. It
allows you to continue to distribute/use your program before it
is fully ported and to verify that it works as expected. Walter's
use of it is a real-world use case that shows how useful it is.
Id rather use a nice language as D to write new software, not
to port old **working** tools which are only maintained and
not developed to it. I see no sense for that.
So, how does the existence of -betterC stop you from writing new
software? I'm using D without -betterC just fine.