2023-01-18

amarao: (Default)
2023-01-18 01:33 pm

don't get charmed

Одна из спорных мудростей по технологиям - don't get charmed. Мол, технология - это технология, и не надо впадать в восторг, и тогда не будет разочарований. Пришло/ушло откопал/закопал идём дальше.

Я как раз стараюсь избегать такого отношения. Love-hate relationship с технологиями позволяет больше инвестировать времени и внимания в те технологии, которые хороши, и активно избегать технологий, которые неприятны. Ориентация на "приятно/неприятно" очень важна, потому что часто является самым ярким индикатором управленческих/инженерных практик в ПО, которое реализует технологию.

Самый яркий пример для меня в последние годы - это Chef. Был момент, когда он был лидером хайпа. Я начал его щупать, и у меня не проходило ощущение инженерной брезгливости. Вместо интеграции с системой, chef относился к хостовой системе как к чужеродной сущности. /opt, deb-пакет для chef-sdk на 600Мб с трижды завендоренным эрлангом в разных каталогах.

Я для себя его записал в технологии неопрятные и неприятные. И что ж... Прошли годы, и где chef? Доит неудачников в жадных ручках прогрессивов. Ансибл, при всей душераздирающей ужасности type conversion, не производил ощущение небрежного. Итог? Живее всех живых. Хоть у меня к нему и есть претензии.

Сейчас ровно такая же ситуация с go vs rust. Go - полон странных инженерных глупостей (начиная со своего собственного именования параметров командной строки, которые называются "флаги" и имеют -singledash форму), rust - вершина инженерной мудрости и тщательности в мелочах. Я не хочу go по эстетическим соображениям, хоть вокруг него и сложился существенный хайп и даже тулстек.

Rust - charming.