Недавно я сделал кучу Java-кодирования и привык к очень конкретным системам именования пакетов с глубоким вложением, например. com.company.project.db
. Это отлично работает в Java, AS3/Flex и С#. Я также видел ту же парадигму, что и на С++, но я также слышал, что это плохо, чтобы рассматривать пространства имен С++ как прямые копии пакетов Java.
Это правда и почему? Как пространства имен и пакеты одинаковы и разные? Какие проблемы могут возникнуть, если вы используете глубокие вложенные пространства имен?