Хе-хе. Про идеологические проблемы тебе расскажут на оборонкоре
Чисто практические - тормозная компиляция,
Аду и хаскель от тормозной компиляции модульность не спасает. Я даже не говорю про эйфель :-)
Как минимум, это спасет от ненужной перекомпиляции.
убогие средства навигации,
Тут скорее жуткий синтаксис виноват нежели "модульность".
Синтаксис - это фигня, по сравнению с перелопачиванием мегабайтов текста, справленного препроцессором. Сравни с килобайтами текста + список импорта (который можно потреблять в бинарном виде непосредственно от компилятора).
Алсо clang постепенно эту проблему решает (то есть парадигма "компилятор как сервис").
Это решение из серии "вырезание гландов через задницу". Можно восхищаться, если не задаваться вопросом "а нафига так?".
Внезапно в нахваливаемом таком модульном D я обнаружил зависимость от порядка импортов модулей :-)
Тем хуже для D

Тяжелое инклудное детство...
А где для тебя идеал в пане модульности? В Обероне мне не нравится. В Аде... Наверно лучше всего. Go - фигня. Java/C# - вообще человеческой модульности нема, все отдано на откуп динамическому компоновщику.
Блин, да хоть как-нибудь. В питоне, например, вполне нормально. В шарпе с его юзингами - хреново, но IDE берет удар на себя. В обероне - вроде нормально, но пока не попишешь - нельзя сказать.