On Thursday, 25 May 2017 at 15:36:38 UTC, Jason King wrote:
Yes it is a lot of work, which I strongly suspect is a big
reason why C still reigns supreme at the systems level —
because it does have a stable ABI which solves a lot of
headaches from a systems point of view (obviously momentum and
history are also very big reasons).
If that’s the direction D wants to go in, there’s nothing wrong
with that,
but it needs to be setting the correct expectations for users.
Not having
a stable ABI is perfectly fine for application level stuff, but
it can be
rather (in some cases extremely) problematic for systems level
stuff--that
needs to be understood both by the users and the people working
on D (and I
haven’t really seen much recognition of it).
On May 25, 2017 at 10:25:59 AM, Jack Stouffer via Digitalmars-d
(
digitalmars-d@puremagic.com) wrote:
On Thursday, 25 May 2017 at 15:02:00 UTC, Jason King wrote:
That’s a fairly important requirement if it’s supposed to be a
systems programming language, less so for application focused
stuff. I would hope it’s at least an eventual goal even if
it’s not quite the case today.
The reason we don't have ABI compatibility is the same reason
neither Rust or Go does, it's a lot of work for a minority of
users and it stops the language from progressing.
Maybe D will have it eventually due to pressure from large D
using companies, but I highly doubt it.
There was a long thread last month about getting dmd into Debian,
that discussed the ABI stability issue among others:
https://forum.dlang.org/thread/hhefnnighbowonxsn...@forum.dlang.org
ABI stability is not promised, not now or anytime soon, not just
from D but many languages, as Jack said. It just doesn't make
sense.