[jsr294-modularity-eg] Problems for JSR 294 to address

Alex Buckley Alex.Buckley at Sun.COM
Tue Jan 27 21:01:10 EST 2009


Daniel Leuck wrote:
>> Interestingly, in my
>> understanding, .NET makes such a distinction between the modularity of a
>> delivery unit (called an assembly) and the finer grained modularity inside a
>> delivery unit, represented by namespaces. The "internal" keyword indicates
>> that the artifact is visible only inside an assembly and the "namespace"
>> keyword provides a hierarchical namespace.
> 
> That is correct, and I think the "internal" visibility specifier in C#
> makes more sense than what we currently have in java. I think
> visibility within a module is probably the most commonly required
> level after public and private.

+1. Also, I have toyed with the idea of allowing "package" to be used as 
an accessibility modifier on a class, interface, or member. When people 
have the option of always giving an accessibility modifier, we can 
discourage declarations without one, and encourage people to consider 
module-private rather than package-private when choosing a modifier. 
(Clearly we can't change the default level of accessibility to be 
module-private now.)

Alex


More information about the jsr294-modularity-eg mailing list