Концепцию mvc (model-view-controller) сформулировали больше 40 лет назад в застенках xerox для языка smalltalk.
18 лет назад свет увидел шаблонизатор smarty для языка php. Одно упоминание этого названия повышало стрит кридабилити (конференций тогда не было) до недостижимых высот.
Опыт предыдущих поколений говорит: отделяй мух от котлет, Карл!
Пример. Все мы используем docker. А знаете, что можно управлять им из javascript?
Вот, взгляните:
https://github.com/AgustinCB/docker-apiИз python:
https://github.com/docker/docker-pyИз go:
https://github.com/docker/go-dockerИ при этом никто не пишет docker-compose на js, все пишут на yaml.
Мы научились делать html-шаблоны и отделили от них css. Локализация - это отдельные конфиги, а не куча if’ов в коде. Docker-compose это yaml. Json-schema это json :)
Это разные языки и форматы, но мы как-то с этим справились.
И только смешивание описания структуры базы данных с кодом до сих пор не считается позорным.
¯\_(ツ)_/¯