Frank Heckenbach wrote (about foo() syntax):
Honestly, what craziness made them add such a feature? If programmers come from C/C++ to a (slightly) Pascalish language, one might think they would at least want to learn the basics of the language. Otherwise, why don't they stay with C/C++? Even Borland has a C++ compiler, don't they?
I think the rational reason is overloading: if one wants methods and atributes to share a name, then the syntax must distingush between variables and parameterless functions. Few days ago I was thinking about C++ compatibility -- to call methods of C++ objects one needs to have compatible overloading and inheritance model, and that includes distinction between variables and functions (alternatively one have to do massive renaming). I do not know how far Delphi moved in such direction, but at the moment the main reason that dominat languages stay popular are libraries and legacy code. So, the ability to use C++ libraries may be (is?) big plus for Delphi. Personally, I think that GPC should try to be superset of Delphi, however debatable features should be switchable (between on, warning and off) independently -- so that even in Delphi mode one should be able to exclude them.