A ß
не люблю быть капитаном, но недаром говорят что есть два типа языков -- про которые пишут и на которых пишут
Ну, я не совсем про это. И, например, много пишут на Java/JVM и довольно много пишут про.
Я вот о чем:
Со временем я пришел к пониманию, что есть 2 крайности и каждый инженер находится на некой точке между ними. Это "бихевиористичный" и "концептуальные" подходы.
"Бихевиористичный" - это когда не важно на чем и как написано. Если это работает и если это можно поддерживать - этого достаточно.
По сути - это все, что нужно бизнесу и это плюс.
Но этот подход страдает от того, что он поверхностнен. И из-за этого упускается часть возможностей.
"Концептуальный" - это когда важно как устроена система. Из каких концепций она состоит. Как они друг с другом согласуются. Насколько универсальны. Все это резонирует с понятием "математической красоты".
Как результат такого подхода появляются системы, про которые понимающие люди могут рассказывать с горящими глазами потому что "охуенно".
Но такой подход страдает от недостатка гибкости. Огромное количество "good enough" решений могут быть отринуты как недостаточно красивые.