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.