Bastiaan Veelo wrote:
Frank Heckenbach wrote:
- some things I don't necessarily see as advantages for our purposes, e.g. automatic gargabe collection (on a (Pascal) language level, I think we should leave the choice to the user),
D programmers can choose between automatic garbage collection or manual finalization.
As I understood it, automatic garbage collection is always active, just that objects that are manually disposed of don't take part in it. Or is there a way to completely disable GC (e.g., for real-time purposes)?
or limited multiple inheritance (though I hardly need the full version myself, but if we choose to implement just the limited form, we can do it equally well in C++ and D, since it's a strict subset of the full version; but if we, now or later, decide we want the full form in some object model, C++ has it),
Limited multiple inheritance is rather seen as a feature than a deficiency. It excludes the mess that multiple inheritance can give, while interfaces and mixins provide the flexibility for which you otherwise would want to use multiple inheritance.
I understand that, and if I'd design an object model, I'd likely go for it as well. However, my point was that as a target language, it is no advantage, even if the source language has such a model, since that can be mapped to both; it's a slight disadvantage in case the source language ever wants the full model. BTW, C++ full multiple inheritance is not such a mess -- there are rules and ways for the programmer to resolve the problematic cases, maybe not always easy, but at least well-defined. I read about it in the FAQ, though I've never needed it myself. Frank -- Frank Heckenbach, f.heckenbach@fh-soft.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: ACB3 79B2 7EB2 B7A7 EFDE D101 CD02 4C9D 0FE0 E5E8