The vast majority of software, at least as far as I can see, use web services. That makes up the vast majority of software on my Android phone. Garbage collection is definitely applicable for web servers, so there is a huge area where D and a garbage collector can apply nicely. I think the arguement that the vast majority of software should be real time now is very weak, I wouldn't argue that. I would simply argue that garbage collection isn't applicable to real time software, because that is a given.

I'm really not sure how anything but a manual memory management allocation scheme could work with real time software. It seems to me that if you are writing software where any cost in time is absolutely critical, and you must know exactly when you are allocated and deallocating, then the best you can hope to do is to write these things yourself.

I don't think it's possible for a computer out there to manage time for you at the most fundamental level, managing memory. If I was to write a real time application, I would not interact with a garbage collector and use primarily small data structures on a stack. If I needed to allocate objects on a heap, I would use something I could resize and destroy pretty manually, or at least in a scoped manner, like std::vector. I can't see how garbage collection or automatic reference counting would help me. I would want to have primarily scoped or unique references to data, not shared references.

Reply via email to