Немного примеров годного "классического" подхода к GUI.
(фулл) https://store.nekun.in/good-ui.png
Я, если честно, не понимаю пренебрежения некоторых пользователей никсов к графическим интерфейсам, да и примеры они приводят далеко не самые удачные, типа чатиков для "простых пользователей" с тремя бестолковыми контролами, размазанными по огромному окну и грустной рожей при сбоях вместо документации. В хорошем GUI чувствуешь себя как в кабине самолёта: компактно, полнофункционально, структурировано, самодокументировано. Жаль, что такой подход сейчас сохранился по большей части в профессиональном ПО для Windows.
Я бы ещё добавил, что в юниксовых десктопах довольно серьёзная проблема в отсутствии стандартной библиотеки контролов: единственный де-факто стандарт - оконный сервер, умеющий только низкоуровневую диспетчеризацию графики и ввода, даже управление окнами на сторонней программе, а виджетами занимается несколько несовместимых тяжеловесных библиотек с регулярно ломающимися ABI и API. Чтобы привести GUI в унифицированный вид, нужно подбирать совместимые темы для WM, для GTK2, для GTK3, для QT4, для QT5, и ещё останется немного экзотики. В Wayland ситуация, похоже, только усугубляется.
В то же время, в Win32 есть user32,shell32,comctl32,etc со стабильным API, есть стандартизированная ресурсная секция с диалогами и графикой. Можно написать линкующееся лишь с системными библиотеками двухкилобайтное GUI приложение на ассемблере и оно будет работать и одинаково консистентно выглядеть на системах выпущенных в последние 26 лет. Там конечно тоже не всё так радужно, и ещё со времён MFC любят накручивать кастомные свистоперделки, но хотя бы есть возможность ими не пользоваться, а от GTK и QT на линуксе или кроссплатформе хрен уйдёшь.
https://www.transmissionzero.co.uk/computing/win16-apps-in-c/
Тут уже не совсем консистентно, но блядь, это уже Win16 начальной версии! К Win32 с восьмёрки даже манифест прикручивать не надо, чтобы подхватило системную тему.
Да, компактно: максимально возможное число контролов на площадь с максимально быстрым доступом.
Могу сказать, что когда увлекался авиасимуляторами, чтобы полноценно полетать по маршруту с компьютером и инструментальной посадкой для PMDG и PT Tu-154 мне достаточно было прочесть краткий тутор, а с более простыми моделями разбирался просто взглянув на кабину и немного поэкспериментировав.
@nekun ПРИШЛО ВРЕМЯ ПЕРЕЛИВАТЬ ТОПЛИВО ИЗ ОДНОГО БАКА В ДРУГОЙ
ТОПЛИВО САМО НЕ ПЕРЕЛЬЁТСЯ
ЗАЧЕМ МНЕ НУЖНО ПРОГРАММИРОВАНИЕ У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМ
ЛУЧШЕ Я ЕЩЁ РАЗ ПЕРЕЛЬЮ ТОПЛИВО
http://sstsim.co.uk/images/Product/Utilities/load.jpg
@mva
@nekun
Я помню как Miranda сравнивали с кабиной самолета
С другой стороны, там где в грамотном GUI достаточно окинуть взглядом основное окно, в CUI нужно искать по текстовой документации: когда пользуешься множеством программ, миниязык каждой довольно быстро вымывается из памяти, кроме может быть самых базовых, и интуиция опытного консольщика не всегда выручает. Довольно раздражает эта необходимость, по сути, постоянного переобучения.