I've used non-hierarchical file systems in the distant past, and it wasn't pleasant. I think aliases (symlinks) work much better in a hierarchy. So do inner packages, modules, and classes, which we plan to have in Perl 6. And package aliasing will be the basis for allowing different versions of the same module to coexist. And if Parrot makes people put /perl/parrot/java on the front of Java names, the first thing people will do is to alias them all to /java.
Larry