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.

Reply via email to