On Tuesday, 12 November 2013 at 05:49:23 UTC, Andrei Alexandrescu wrote:
On 11/11/13 5:53 PM, Chad Joan wrote:

What would you suggest as an alternative for targeting disparate hardware like microcontrollers (ALL of them), newly released game consoles, and legacy platforms that could use D for migration tools
(like OpenVMS on IA64)?

Oh, and I want instantaneous release times. I need to be able to stick
the compiler on a machine it has NEVER seen and say, "Use POSIX
libraries to fulfill Phobos' deps. Use reference counting. DO WORK!". Or maybe I would say, "Ditch Phobos, we in da sticks. Use reference counting. GOGOGO!" And I want to be running my D program 5 minutes later.

Let me initially dismiss these:
LLVM: not /everywhere/ yet, and missing on many of the targets I mentioned.
C--: also not everywhere; this is the first I've heard of it.
Java/Javascript/.NET: Actually also good backends, but a different
ecosystems.

Thus, I suggest that C is an AWESOME backend (with C++ for exceptions,
but ONLY if it's available).  Destroy :)

Fine with me. I have no stake in this. I don't see how you reach the conclusion that C is "awesome" given it makes exceptions tenuous to implement. It does have the advantage of being universally available. If that's everything you need, sure.

Andrei

I call it "awesome" because you seem to have objections to the whole notion, and your objections are usually very interesting. So I'm just pulling your chain in the hopes that you bestow insights on me :)

Honestly, I look forward to being able to implement exception handling in C! It sounds like a fun couple coding sessions waiting to happen. I already did it with C macros, so giving me an entire code generator to work with might make it /too/ easy. And it scratches an itch that current compiler's can't (well, maybe LDC is catching up).

Perhaps this is just the difference between choosing a good IR (which C is not) and choosing a good compilation target (where C is needed).

Reply via email to