RE: Namespace improvement ?
- Posted by Chris Bensler <bensler at nt.net> Feb 04, 2005
- 479 views
Chris Bensler wrote: > > > Juergen Luethje wrote: > > > > > > Me wrote: > > > > <snip> > > > > >> Chris Bensler wrote: > > > > > > <snip> > > > > > >>> Realistically, it would break most everybody's code. > > >>> However, the transition would be very minor (change all cases of > > >>> "include foo" to "global include foo"). > > > > > > Yes, very minor. And this replacement can be done automatically by a > > > small program. > > > > <big snip> > > > > Another idea with the same effect, that does not break a single line of > > existing code ... > > ( I don't remember whether or not this has also been discussed before.) > > > > Let the syntax of the 'include' statement alone, and introduce a new > > keyword, say 'shared', that can be used, whereever 'global' can be used: > > shared sequence foo > > shared function foo() > > etc. > > > > The only difference to 'global' would be, that the 'shared' symbols are > > only shared between the file where they are defined, and the file that > > *directly* includes this file. > > > > Regards, > > Juergen > > > > -- > > Have you read a good program lately? > > > > I strongly oppose any solution geared to compromise, when a better > solution is available. > > Fix the scope of includes properly, and be done with it. We don't need > to introduce any new concepts, just ammend the current concept of > includes. > > Chris Bensler > Code is Alchemy > I will elaborate a little bit on my perspective regarding this. Take C for example, or better yet, C++. They are both good languages, but they have been severely 'compromised' for the sake of satisfying immediate demands and for the concern of not inconveniencing the current user-base. If backward compatability really is that big of a concern (and I don't think it is one bit), there are methods that can be taken to introduce new functionality, and ween out the old, called deprication. Large software projects almost inevitably have to deal with legacy behaviour at one time or another, and they do. Chris Bensler Code is Alchemy