[fpc-pascal] Namespaces Support

Michael Van Canneyt michael at freepascal.org
Fri Oct 25 14:29:18 CEST 2013

On Fri, 25 Oct 2013, Marco van de Voort wrote:

> In our previous episode, Michael Van Canneyt said:
>>> Yes. And he deserves it IMHO.
>> Strange reaction.
>> As I said: the above scenario is the very reason why namespaces were
>> invented to begin with.
> Not that I can see. It seems that Embarcadero used it mostly for own
> purposes, not the users, and their support scenarios.

The discussion is about a namespace feature. 
Namespaces exist in other languages as well, and have certain characteristics.

How Embarcadero uses them is secondary.

>> We make a feature available, and then you are going to say to users of
>> this feature "if you use it as intended, it is your own fault, you deserve
>> what you get"
> I see it as a cost/benefit tradeoff. It is not the namespace added feature
> that I worry about, but the fact that you force all existing users to find
> out what is going on and set default namespaces in their projects.

No one forces anything. You can perfectly set the default namespace to 
'fpc' (or whatever) in the default config file, and all should compile as it was.
People that do not like this, can change it.

Really, you are looking for problems where there are none.

>> What kind of attitude is that ?
>> We can discuss the desirability of the namespaces feature.
>> I am of the opinion that we didn't need them at all.
>> But OK, Delphi compatibility and so on. We know the reasons.
> True. But it is now the time to force this XE2+ breaking change, while
> you are so opposed of doing the same for the D2009 string change?

I don't oppose anything.

And let us not forget that in the FPC team, I am the one advocating 2 sets of units:

1 ansistring set, without namespaces. (roughly D7 and below)
1 unicodestring set, with namespaces. (roughly D2009 and above)

In my opinion, this constitutes exactly:
1. Being very consequent.
2. Caring about backwards compatibility.
3. Offering the user a choice.


More information about the fpc-pascal mailing list