Paul Spain writes in the ADUG mailing list: “As the evolution of Borland’s Object Pascal is now effectively bound to the evolution of .NET’s CLS, Delphi will have to wait for Microsoft before we see these features appearing in our tool of choice…”
Delphi fans unite: Whenever someone makes that claim, feel free to grab them by the throat (or other anatomy), slam them into the wall, and challenge them to describe exactly where CLR implements virtual constructors, virtual class methods, sets, global procedures, global procedure pointers, unit initialization semantics, or any of the other dozens of Delphi language things that are implemented by Delphi for .NET above and beyond what CLR provides.
The Delphi language is as constrained by CLR as it is constrained by the Intel processor, or the Windows OS, or the Linux OS. Some things the environment provides for you. The rest you have to do for yourself. The only difference between the possible and the actual is cost.
For example, we could implement a proprietary form of generic types in .NET 1.1 that could only be used by Delphi customers. Why should we dump millions into that effort when it will be provided by the .NET 2.0 platform in a non-proprietary cross-language way? That would be a collosal waste of Borland effort, which would be much better spent working on stuff that CLR is not going to provide.
It’s not about what can be done, it’s always about what should be done.