Стараюсь держать руку на пульсе...
Даже не смотря на то, что я в данный момент занимаюсь Явой, если произошла какая-то революция в проектировании архитектур крупных программных проектов, это перейдет в Яву.
В общем, давно уже смотрел книгу Александреску "Modern С++ design", но тогда я столкнулся с тем, что мои компиляторы не поддерживали эти извращения. У MSVC6 вообще в основном был только один ответ - INTERNAL COMPILER ERROR.
Но сейчас я посмотрел, и вроде чего - то меняться начало.
Посему такие вопросы:
1) Кто - то вообще это использует? Насколько это помогает?
2) Не порождает ли это больше проблем, чем решает?
3) Как быть с раздельной компиляцией? По моему опыту, если
используешь какой-то стиль, то он приводит к эскалации самого себя.
То есть Александреску-вские извраты наверное вообще потребуют отказа от раздельной компиляции.
4) Если все зависит от всего - это M$ как-то назвал Адом (DLL HELL).
Не приводят ли параметризованные типы к появлению Ада?
5) Если отказаться от hpp(интерфейс)/cpp(реализация) и компилировать весь проект как один большой файл, то неизбежно начинают появляться перекрестные зависимости символов. Как с этим бороться?
6) Как на это реагируют компиляторы? Не приводит ли обработка огромных файлов со сложными топологиями к тем же INTERNAL COMPILER ERROR?
7) Не требует ли работа с такими проектами слишком дорогих специалистов?
8) Как это соотносится с линией партии (то есть M$ или GNU)?