Вот
подумалось ЯП — это просто детские игрушкию
Статически типизированные языки(Java, .NET, C++, etc.) —
конструкторы: железные, пластмасовые, деревянные.
Динамически типизированные языки(PHP, Scala, etc.) — пластика:
пластилин, глина, тесто.
Получается, что проект — это что, построенное из
вышеперечисленного набора.
Например проект, написанный полностью на СТЯ — да, крепкий, тяжело
погнуть, не рассыпится. Можно разобрать и собрать в любой момент
без поломки (если правильно разбирать
). Но
угловатый и если переделывать что-то внутри, то тяжело сохрянить
первоначальную структуру.
Проект на ДТЯ — красивый, гладкий, нет дырок. Если что не подходит
по конфигурации — а месте перелепливаетяс и приклеивается. Но если
стукнуть сверху посильнее — сразу лепёшка и разобрать, что где было
— нет никакой возможности. И держать надо в определённом
температурном диапазоне.
Все более-менее успешные и/или большие проекты совмещают языки:
основа из твёрдого конструктора, а часто меняющиеся части/детали
"приклеены" пластилином. Ну и им же замазаны угловатости, для
красоты.
Главное не использовать для основы пластилин — все тяжёле детали
просто отвалятся сами в неподходящий момент.
Вот такой поток мыслей про архитектуру проектов.