Delphi forever (or ForEveR)
Good points, but (unless I missed something, and I'm too lazy to re-read it) you didn't touch on my one big gripe with Delphi, the annoying insistence on having to specify:
type_inst := type.Create();
Or somesuch. What's wrong with:
type_inst := new type;
?
I have hardly ever come across a situation where the constructor is anything other than Create() or an overridden version ...