Заключительная часть
Было бы наивным предполагать, что сегодня можно без особых проблем создать систему, используя для каждого уровня наиболее пригодный/эффективный язык программирования. Не получится... Дело в том, что, не смотря на свои различия, языки должны иметь единую (хотелось бы сказать: семантическую/системную) основу. Однако современные языки разработаны не для создания систем, а для решения некоторого вполне определенного круга задач. (Собственно, попытки "заграничного" использования языков программирования и порождает бесконечные holy-wars...).
Поэтому, по моему мнению, одной из наиболее важных и интересных задач на современном этапе, является разработка системы языков: строгой концепции расширяемого множества языков для создания больших систем (более трех уровней). Актуальность этой задачи становится тем более очевидна... если посмотреть с каким трудом создаются современные трех-уровневые системы, а трудозатраты на создание систем, имеющих четыре уровня, больше на два-три порядка. То есть, при существующей технологической основе, создать их просто нереально, поскольку они морально устареют на десятки лет раньше, чем... будут созданы.

PS. Все сказанное выше не должно служить предметом споров, это моя частная точка зрения, которая приведена, как пища для размышления, не более того.