История изменений
Исправление wandrien, (текущая версия) :
Что продвинутый айтишник, разбирающийся в архитектуре, ожидал бы от дисплейного сервера будущего:
- Программа типа tmux или twin, но пригодная не только для текстовых, то и для графических приложений. Ты можешь запустить программу на любом железе, а потом работать с ней с любого другого железа.
Что он получает:
- Фреймбуфер на костылях с кучей бойлерплейта сверху.
Задача операционной системы – создавать высокоуровневые абстракции над оборудованием. Здесь абстрагирование не выполнено.
Отдельно умиляет аргумент, что «иксы эта сложна надо всё сложное выкинуть нахрен».
Да – системная разработка это сложно. А когда это было легко? Разработка подсистемы памяти в ядре – это сложно, разработка драйверов GPU — это сложно, проработка нетривиальных абстракций — это сложно.
Но это сложность, которая необходима, потому что она открывает новые пути и решения, которые ранее были невозможны. Собрав всю сложность, по смыслу связанную с «X», в одном месте, мы даём возможность остальному коду от неё избавиться. И ему уже не нужно будет заниматься сложными вещами «X», а вместо этого можно будет заняться сложными вещами «Y», то есть решать свою собственную задачу.
Исходная версия wandrien, :
Что продвинутый айтишник, разбирающийся в архитектуре, ожидал бы от дисплейного сервера будущего:
- Программа типа tmux или twin, но пригодная не только для текстовых, то и для графических приложений. Ты можешь запустить программу на любом железе, а потом работать с ней с любого другого железа.
Что он получает:
- Фреймбуфер на костылях с кучей бойлерплейта сверху.
Задача операционной системы – создавать высокоуровневые абстракции над оборудованием. Здесь абстрагирование не выполнено.
Отдельно умиляет аргумент, что «иксы эта сложна надо всё сложное выкинуть нахрен».
Да – системная разработка это сложно. А когда это было легко? Разработка подсистемы памяти в ядре – это сложно, разработке драйверов GPU — это сложно, проработка нетривиальных абстракций — это сложно.
Но это сложность, которая необходима, потому что она открывает новые пути и решения, которые ранее были невозможны. Собрав всю сложность, по смыслу связанную с «X», в одном месте, мы даём возможность остальному коду от неё избавиться. И ему уже не нужно будет заниматься сложными вещами «X», а вместо этого можно будет заняться сложными вещами «Y», то есть решать свою собственную задачу.