D as a betterC a game changer ?
Dan Partelly
i at i.com
Wed Dec 27 08:59:10 UTC 2017
On Tuesday, 26 December 2017 at 19:34:35 UTC, Mike Franklin wrote:
> Rust is an example of a language that got it right. It is
> inherently memory-safe, can interface with legacy code
> requiring essentially no runtime, and still has optional
> reference counting, and plans for an optional garbage collector
> [1].
I could not agree more with this. It is unfortunate D has
dependencies on a garbage collector in language proper and in std.
Of course, only if it wants to go against C/C++, and the fact a
-betterC exists suggests that it does. If it wants a place with
Java/C# well, then all they have to do is to plug-in an
industrial strength GC implementation and live happily ever after.
The situation is a bit weird today for an outsider like me. Make
no mistake, outsider first impressions count , even if they
contain errors. This is because the adoption of a language will
rather be a function of social factors then technical excellence,
as I mentioned before on this board
The D personality is mixed:
1. A language and a std depending on GC, but with an imprecise GC
(do they really want that marginal speed ??) suggesting they want
to go against Java like
2. Promoted as language which can be used with no GC (but
practically you cannot, at least not easily because a lot of the
core language depends on GC, and what is worst std depends on it
too, and made the mistake to put hashes vectors and strings in
language proper rather than lib ) . This marketing suggest they
care about 0 cost abstractions , but they where an afterthought
added when they realized they are useful. Which is weird since
they also have second to none compatibility linking against C,
which suggest they where aware of how important this whole
business is.
3. Now seeing a -betterC mode, which is really 0 cost abstraction
and delivers , but
removes from language what it should have been a library in the
first place, without providing a library alternative from it and
a crippled std.
All could have been prevented by going the C++ route of 0 cost
abstraction, and have a stellar std which also offered a GC for
those who want it. *ALL* language features could have been
implemented in this mode.
More information about the Digitalmars-d
mailing list