TGViewer
Точка сборки Точка сборки @antonvolkov · 12.1K subscribers
Post #420 9.56K
Сижу разбираюсь в линуксовых дисплей-серверах. X11 — типичная "переуниверсализация" от слишком умных инженеров из MIT. Мне очень хорошо знаком этот задор и горящие глаза — а давайте сразу всё сделаем ПРАВИЛЬНО! Я и сам этим часто грешил.

В итоге вместо того, чтобы сделать простую и эффективную отрисовку конкретной кнопки, такие программисты предпочтут написать ФРЕЙМВОРК по отрисовке любых кнопок. Всё это проходит под соусом "а вдруг нам понадобится поменять шрифт? а мы такие хоба — и в одном месте конфиг поправим!".

Но у всего есть цена. И кроме потраченных недель или даже месяцев работы, мы платим усложнением всей системы. А ещё возникающими ограничениями, которые программист в азартном порыве ещё в упор не видит. Допустим, программист предусмотрел скруглённые края кнопок и даже сделал настраиваемые параметры скругления. Потом ещё подумал и сделал изменяющийся цвет обводки, и толщину, и тип линии, и настройки пунктира.

А потом через полгода приходит кто-нибудь из маркетинга и говорит "нам надо кнопку в форме звёздочки, дедлайн через неделю — у нас ивент". Звёздочек в фреймворке не заложил, времени "системно" решать нет, поэтому включается костылинг (или не дай бог пойдёт дописывать фреймворк под произвольную форму кнопок). И вот так, под лозунгами "за всё хорошее и против всего плохого" программные продукты превращаются в говно, которое всё дороже сопровождать и невозможно развивать —проще переписать с нуля.

Это кстати как раз про тех "любителей простых, понятных и неправильных решений", только от инженерии. Как бородатые идеологи придумывают универсальные системы управления гражданами (за что потом десятилетиями расплачиваются миллионы людей), так и бородатые инженеры придумывают преждевременные абстракции, универсализации и автоматизации, искренне считая, что это бесплатно. Для их гордыни может и бесплатно, но не для тех, кто будет иметь дело с долгосрочными последствиями.

В общем, Xorg позволяет отрисовывать графический интерфейс универсально: что удалённо, что локально, через сетевой протокол X11. Сама концепция будоражит — это ж так круто, получить remote-управление "из коробки"! Но для локальной работы за это приходится платить ограничениями в наборе команд, ненужной сериализацией и обработкой сетевых пакетов, и как следствие невозможностью нормально задействовать аппаратное ускорение.

В итоге, ради того, чтобы пару раз в год подключиться к удалённому серверу (камон, кто использует GUI на серверах?), миллионы линуксоидов платят за это снижением производительности своих рабочих машин. Тупо греют воздух на никому не нужном абстрагировании и универсализации. Ради красивого прохождения крайне редкого 0.001% сценария, постоянно жертвуют в 99.999% случаев. И это продолжается десятилетиями (протокол утвердили в 1987), просто потому что слишком умные и горделивые инженеры решили сделать идеально. Проскальзывают параллели с любителями "величия за чужой счёт".

В итоге жизнь, конечно, заставила разработчиков написать менее идеальное и великое решение — Wayland. Лёгкий и лаконичный, простой протокол взаимодействия между программами, которые сами отрисовывают своё содержимое, и композитором, который расставляет это содержимое на экране в виде окон. Т.к. всё происходит без сети — работает шустро и прекрасно рендерится на GPU.

Короче, вывод. Не надо быть слишком умным инженером, который предусмотрел ВСЁ в своём Великом Фреймворке. Лучше делать как можно более простые работающие решения и универсализировать их только тогда, когда уже без этого совсем тяжко, и с пониманием цены, которую придётся за это заплатить. Так больше шансов сделать продукт с наименьшей сложностью (complexity) и наименьшими затратами на сопровождение в будущем.
More from @antonvolkov
  1. Sep 20, 2026Если нейроген такой хороший и так эффективно позволяет всё больше радовать игроков, херли…
  2. Sep 19, 2026Я периодически ловлю себя, что хочу чтобы сын стал супер-человеком. Чтоб пошёл по стопам о…
  3. Sep 16, 2026Как и собирался, пойду голосовать. Точнее подал заявку в Госуслугах и физически никуда не…
  4. Sep 14, 2026Нейронщики: это не мы упёрлись в потолок, это просто ИИ стал слишком мощным и сбежал, а мы…
  5. Sep 8, 2026Ютуб завален экспериментами геймеров со слитым DLSS 5. Подробнее о технологии нейробьютифа…
  6. Sep 5, 2026Интересное следствие систематического соблюдения принципа "все зелёные": всё чаще бывает б…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →