LINUX.ORG.RU
ФорумTalks

GNOME против Unix-way

 , , , ,


2

3

Доброго дня вам, ЛОРчане!

Что такое этот мифический «Unix-way»? Вероятно, однозначно на этот вопрос не ответит никто, т.к. каждый понимает под данным термином что-то своё, и определение не имеет чётких границ. Поэтому для установления общего базиса в данной теме предлагаю заглянуть в Wikipedia. Кроме трёх базовых понятий о программах делающих что-то одно, работающих вместе и использующих текст (Malcolm Douglas McIlroy), там есть такие мысли, как:

  • «Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой» - Mike Gancarz
  • «Позвольте пользователю настраивать окружение» - Mike Gancarz
  • «Правило прозрачности: Разрабатывайте прозрачные программы для облегчения последующего пересмотра и отладки» - Eric S. Raymond


С настраиваемостью и GNOME, думаю, давно всё понятно. Разработчики явно решили, что многообразие опций напугает пользователя. А что с прозрачностью? На мой взгляд, неоспоримым преимуществом систем GNU/Linux по сравнению с Windows и macOS является то, что в случае поломки пользователь может разобраться в её причинах прямо здесь, на месте. Либо, если ему интересно, может узнать что и как устроено внутри. Пользователь GNU/Linux в праве ожидать от программ ясных и подробных логов, тогда как в Windows чаще можно увидеть «Произошла ошибка 0xBADS0F1. Обратитесь к системному администратору». Я уже как-то писал на ЛОРе, что GNOME развивается в сторону от прозрачности системы. Проблема заключалась в отображении грустного смайлика (выглядит это вот так) вместо нормального сообщения об ошибке, и это сообщение показывал не «обновлятор» Ubuntu, а GNOME. Самое стрёмное тут это невозможность отказаться от завершения сеанса. Т.е. другие программы могут вполне работать, но поверх их висит окно, которое блокирует весь ввод. Я сам так же попадал в подобную ситуацию, когда пользовался QEMU. При том не было даже никакой ошибки, просто QEMU захватил ввод, я решил переключиться на другую виртуальную консоль (Ctrl+Alt+F3) и обратно, а GNOME почему-то решил, что ему стало плохо. После этого я с воплями убежал на KDE. Это было не единственным примером, а скорее, последней каплей. До этого я ещё стойко терпел выпиливания функционала. Достаточно сравнить диалоги выбора файлов в GNOME и KDE - вполне наглядный пример.

И вот, некоторое время назад мне опять понадобилось писать ПО с использованием GTK. К слову, к самому GTK я пока отношусь положительно. Достаточно неплохой тулкит, нормальная идея с GObject introspection и привязками к другим языкам. Хотя уже закрадываются сомнения... Раньше я уже использовал Glade, чтобы нарисовать интерфейс. Местами плевался от него, но в целом ничего. А сейчас решил попробовать GNOME Builder. Запустил, открыл в нём пример приложения (одна из причин зачем ставил - потыкать разные примеры в одном месте, а не собирать их по GitHub, документация разработчика для GTK как-то не очень). Builder попросил поставить некоторые SDK. По названиям я предполагаю, что это делается через Flatpak. Хотя не факт. В общем, у него это не получилось. Да, ошибки в ПО встречаются, этого не избежать. Где нормальное сообщение об ошибке? Почему вместо него вот это. Конечно, я нагуглю и разберусь, что там случилось. Но, почему? Это ведь уже не текстовый редактор, где «важно» (хотя на самом деле не важно и даже вредно, пользователь должен знать) не напугать неподготовленного пользователя обилием опций и сообщениями с подробностями. Это IDE для разработчика. Всё, что тут можно сделать - нажать на кнопку, которая убирает пункт из списка. Зато есть удобное меню-гамбургер, а там есть пункт «Generate support log». Ура? Нет, это было бы слишком просто. В логе нет ничего по теме ошибки. В окне с «Failed to install» даже текст нельзя выделись и скопировать. Казалось бы, при разработке интерфейса надо просто поставить галочку «Selectable». Мелочь, но сколько раздражения доставляет. Вообще, что мешало в интерфейс выдать сразу какую-то внутреннюю ошибку? Ведь она там есть. Место закончилось или прав не хватило? Запустить Builder через sudo? Или что? Хоть бы errno показывали...

По итогу всего написанного выше, вангую, из GNOME побегут не только пользователи, которых лишили опций и настроек, но и разработчики сторонних приложений, т.к. создатели GNOME из нормальной среды времён второй версии устроили какой-то мирок с розовыми очками, где только они сами и могут обитать.

★★★★★
Ответ на: комментарий от AP

Просто удивительно, как разработчики Resolve, Maya, Nuke и прочего профессионального софта обходятся в линуксе без GNOME Builder и болт забили на 2% маркет шары линукса, да?

А от какого же тулкита библиотеки таскает с собой Maya?

Ой, кажется это qt.

В итоге ни при чем не только GNOME Builder, но и вообще GNOME.

wandrien ★★
()
Ответ на: комментарий от wandrien

Та же Винда ушла вперёд.

Сразу видно человека, который с Windows 10 соприкасается постольку-поскольку и использует принцип «у соседа трава зеленее».

И по юзабилити, и по фишкам платформы.

Ага. Особенно очень хорошее юзабилити и фишки платформы заключаются в двух ортогональных друг другу панелях управления. И в куче концепций интерфейса, криво сосуществующих друг с другом. Или в неотключаемых обновлениях вкупе с повсеместной телеметрией, вроде такого: https://habr.com/ru/post/283308/

Вот серьёзно, пользовался бы ты часто Windows 10, ты бы ненавидел её сильнее чем GNOME. С последним у тебя хотя бы есть выбор его не использовать.

И средства разработки под неё в целом адекватные.

Программисты почему-то в основном сидят на Mac’ах и Linux’ах. Этого требует сегодняшний мир разработки. Так получилось, что с LAMP/LEMP, базами данных и всякими git удобнее работать не в «дисяточке максимальной», а в UNIX-like окружении.

И в Microsoft это отчётливо понимают, ибо там далеко не ЛОРовские фанатики «дисяточки» сидят, а акулы различных бизнесов. Которые не хотят терять разработчиков и предоставляют им удобные штуки вроде WSL/WSL2.

EXL ★★★★★
()
Ответ на: комментарий от fornlr

Ты в сторону уходишь. Надо что бы вон как хорошо в конце нулевых то было, а сейчас…

Я в сторону не ухожу. Это ты виляешь как поняша.

Если для 2005-го года та свалка недописанных библиотек, которую представляет собой прикладной стек поверх линукса еще могла кого-то привлечь за счёт кредита доверия, то сейчас никаких кредитов давать никто не будет.

Теперешний линукс - это чисто платформа для сервера. Сидишь в виме, пишешь очередной микросервис заказчику или числодробилку на питоне физикам.

Скоро и ниша «сидишь в редакторе» полностью уйдёт на винду, так как под ней можно запускать линукс-процессы, и оттуда же пушить в репу на серваке в облаке.

wandrien ★★
()
Ответ на: комментарий от wandrien

Запусти какой-нибудь дистр из 2010-го, разницы никакой ни для разработчика софта, ни для пользователя.

В каком-нибудь дистре из 2010 года у меня нет ни одного хоста (DAW), умеющего в нативные VST под Linux, практически нет нормальных плагинов хоть LADSPA, хоть LV2, и нет ни одного приличного коммерческого или свободного синтезатора, работающего как плагин, поэтому приходится дрочиться с соединениями в JACK.

В каком-нибудь дистре из 2010 года после 5 минут работы у меня падают абсолютно все видеоредакторы кроме куцого VSE, встроенного в Blender.

В каком-нибудь дистре из 2010 года управление цветом в графическом софте доступно только для гиков, которые любят пердолиться в консоль.

В каком-нибудь дистре из 2010 года у меня доступен только очень сырой, малоюзабельный фотософт, половина которого как проекты сдохнет в горизонте следующей пары лет, а второй половине понадобится ещё лет пять, чтобы постоять где-то рядом с коммерческими аналогами.

В каком-нибудь дистре из 2010 года мне надо прыгать вокруг подключения МФУ.

AP ★★★★★
()
Ответ на: комментарий от wandrien

Та же Винда ушла вперёд. И по юзабилити, и по фишкам платформы.

2021 год на дворе, а там по прежнему 2 центра настроек: один современный, а один из времён Windows XP. При чем обойтись только одним не получится. Вот такое юзабилити.

Polugnom ★★★★★
()
Ответ на: комментарий от wandrien

В итоге ни при чем не только GNOME Builder, но и вообще GNOME.

Ой, а под какие там системы официально пакетят Maya, давайте посмотрим:

https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/Installation-Maya/files/GUID-E7E054E1-0E32-4B3C-88F9-BF820EB45BE5-htm.html

Вот ведь интересно, их пакетят под Red Hat Package Manager (RPM) для RHEL, в котором сам знаешь что по дефолту стоит, а что помечено как deprecated.

EXL ★★★★★
()
Ответ на: комментарий от wandrien

В итоге ни при чем не только GNOME Builder, но и вообще GNOME.

Т.е. если у человека не взлетел Builder, он прям тут же идёт писать под андроид вместо того чтобы попробовать другую IDE под другой тулкит. И поэтому у линукса 2% маркетшары. А ты классно умеешь шланговать!

AP ★★★★★
()
Последнее исправление: AP (всего исправлений: 1)
Ответ на: комментарий от wandrien

Если для 2005-го года та свалка недописанных библиотек, которую представляет собой прикладной стек поверх линукса еще могла кого-то привлечь за счёт кредита доверия, то сейчас никаких кредитов давать никто не будет.

Так хуже не стало. А со всякими игрушками, импортзамещаниями и прочим явно стало всё это активнее. Не сильно. Но да, где-то на уровне с 1% на 2%

Так что ты несёшь явно пердунский бред про то, что раньше был торт.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от AP

Т.е. если у человека не взлетел Builder, он прям тут же идёт писать под андроид вместо того чтобы попробовать другую IDE под другой тулкит. А ты классно умеешь шланговать!

Да всё очевиднее на самом деле.

На qt можно делать кроссплатформенный софт, а на gtk проще сразу вдоль.

wandrien ★★
()
Ответ на: комментарий от EXL

Смотри выше насчёт кросcплатформы.

Собирают под то, что могут разумным образом поддерживать - не под васяно-дистры же собирать. Но разрабатывают с теми средствами, на чем можно разумным образом разрабатывать. Не на гномьем стеке же.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 2)
Ответ на: комментарий от wandrien

На qt можно делать кроссплатформенный софт, а на gtk проще сразу вдоль.

Главное только чтобы не убили Qt Widgets в угоду развития Qt Quick и QML. После различных закручиваний гаек со стороны The Qt Company уровень доверия к ним несколько снизился.

EXL ★★★★★
()
Ответ на: комментарий от James_Holden

Хорошо по полочкам разложил, вопросов не остается даже

у тебя система - среда разработки

спектрумы с бейсиком вспомнились)

d09
()
Ответ на: комментарий от wandrien

На qt можно делать кроссплатформенный софт,

Чего? Какой Qt? Ты ж сам сказал: Builder с GTK не взлетел — все на андроид. Попробуй не переобуваться в воздухе.

AP ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Ну полвека назад был смысл, что cat только текст выводит, а если надо подсчитать столбцы или еще что-то,то другая программа. Потому что вдруг тебе только текст выводить надо, а у тебя программа умеет еще что-то,и занимает драгоценные килобайты?

каждый вкладывает в это понятие своё

вот именно. Вообще, unix-way просто звучит клего, может быть, это вообще единственная причина незабвенности термина?) А значение у него со временем менялось, до полной субъективщины в наши дни

d09
()
Ответ на: комментарий от wandrien

Не на гномьем стеке же.

Проприетарщики и GTK+ выбирают часто. Примером может служить тот же VMWare со своими Workstation’ами и Player’ами.

Но я согласен с тем, что разработка GUI-приложений, тем более сложных, на Qt гораздо быстрее и удобнее.

Вообще у GTK+ был шанс с Vala, но эта технология появилась слишком поздно и не получила должного распространения. Вот появись бы она в начале нулевых, в Linux всё могло бы пойти по другому и GNOME 2 и GNOME 3 могли бы быть другими.

Vala хорошо абстрагирует сишную рутину в написании интерфейсов и их логики на уровень C#/Java, при этом не ограничивая программиста в использовании C там где это нужно. Да и сама программа просто транспилируется в C-лапшу и использование Vala практически не сказывается на производительности. Очень жаль, что этот хороший проект оказался столь непопулярным.

EXL ★★★★★
()
Ответ на: комментарий от Polugnom

2021 год на дворе, а там по прежнему 2 центра настроек: один современный, а один из времён Windows XP. При чем обойтись только одним не получится. Вот такое юзабилити.

Тогда уж три.

«Управление компьютером», «Панель управления» и «Параметры».

wandrien ★★
()
Ответ на: комментарий от wandrien

Я даже знаю человека, который на этом писал. Целого одного. Остальные выбирают гораздо более привлекательные инструменты разработки.

Короче, ты слился. Ну, ок, я без претензий.

AP ★★★★★
()
Ответ на: комментарий от EXL

Вообще у GTK+ был шанс с Vala, но эта технология появилась слишком поздно и не получила должного распространения. Вот появись бы она в начале нулевых...

Валя появилась в 2006 году вообще-то. За 14-15 лет можно было добиться намного большего, но разработчики релиз за релизом что-то ломали. Представь себе, что из-за каждого минорного релиза GCC тебе нужно переписать часть кода. Да ты б первый послал нахер такую разработку.

AP ★★★★★
()
Ответ на: комментарий от wandrien

Qt для Android я активно пользовался и со всей уверенностью могу заявить, что это тот случай, когда проще взять и написать на нативных для Android технологиях, чем ковыряться тут с JNI и Qt-обёртками над JNI, особенно всё смачно справляя тоннами прослоек QML <=> C++ <=> JNI <=> Java, как оно всё выглядит можешь тут посмотреть: https://github.com/EXLMOTODEV/QmlDestroyTest кому-то для LOR’а я этот пример делал.

По сути Qt лишь отличный фреймворк для Windows и Linux, с большой натяжкой для macOS. Вся остальная кросс-платформенность в нём сильно условная и забагованная.

С другой стороны у GTK+ ситуация ещё хуже, это лишь графический тулкит для Linux. А кросс-платформенность в нём вообще кажется для галочки.

P.S. Ах да, забыл. Количество софта в Google Play, который использует Qt для Android наглядно демонстрирует всю зрелость этой технологии. Я лишь могу 2GIS отметить. И то он вроде отказался от использования Qt в последних версиях, а в первых у них был вообще собственная ветка Qt для Android никак не пересекающаяся с официальной.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от ls-h

Не знаю как оно ресурсы на компах 60х годов потребляло в такой ситуации, но тут думаю,так: cat, способная только выводить текст веси х кб, а cat способная еще и нумеровать строки - x + y кб. Прога, которая только нумерует строки, весит y кб. Так как места на носителях было ну осень мало (1,4 мб дискеты в те времена квоспринимались примерно как сейчас диски на петабайт), в случае, если на конкретной машине надо только выводить текст, но не нумеровать столбцы, в этом действительно был смысл

d09
()
Ответ на: комментарий от EXL

Vala хорошо абстрагирует сишную рутину в написании интерфейсов и их логики на уровень C#/Java, при этом не ограничивая программиста в использовании C там где это нужно. Да и сама программа просто транспилируется в C-лапшу и использование Vala практически не сказывается на производительности. Очень жаль, что этот хороший проект оказался столь непопулярным.

Тут как раз тоже «у соседа трава зеленее».

Vala была бы прекрасным решением где-то в другой реальности, где GNOME разрабатывают нормальные люди.

А в нашей они не могут стабилизировать язык, а версия релиза на данный момент… 0.50.3.

0.50, Карл!

Я почти уверен, что лет через 10, а то и раньше, мы не увидим никакой Vala, и они его депрекейтнут вслед за ORBit, gconf и кучей прочих тупиковых кусков стека.

Я думаю, сейчас отчётливо заметно, как кругами идёт «разработка» этой платформы. «Мы сосредотачиваемся на чём-то одном и выкидываем нахрен всё остальное. Потом мы сосредотачиваемся на новом и выкидываем предыдущее, потому что недописали толком.» Нынче вот фаза фанатения по флатпаку.

Это какой-то лютейший СДВГ, порождаемый коллективно. Тот старый пост из середины 00-х всё не теряет актуальность.

wandrien ★★
()
Ответ на: комментарий от AP

Я потыкал Vala совсем недавно и мне понравилось. Может и действительно раньше там были подобные проблемы, которые сгубили такое хорошее начинание.

EXL ★★★★★
()
Ответ на: комментарий от EXL

А можно поконкретней, что в иксах такого говеново? Багов там хватает, но долгие годы альтернативу никто не пытался делать почему-то. А как начали,получился вяленый, который уж точно не лучше

d09
()
Ответ на: комментарий от EXL

У меня в фейсбучной ленте есть разработчик коммерческого десктопного софта на кьюте. Он регулярно утыкается в проблемы с кроссплатформенностью на винде и маке (под линукс порт не делает), потому что эти гаврики постоянно что-то ломают. Приходится таскать и обновлять патчсет для старой версии фреймворка.

AP ★★★★★
()
Ответ на: комментарий от Polugnom

Да блин, почему вы всерьез считаете, что разсположение панелей по дефолту - сразу копирует?) Подразумевалось, что в гноме мало настроек, а виндоюзеры,как правило, не привыкли кастомизироать все под себя

d09
()
Ответ на: комментарий от wandrien

а версия релиза на данный момент… 0.50.3. 0.50, Карл!

Я понимаю, что у миллениалов с зумерами модно дрочить на циферки релизов, но вообще-то сам по себе номер версии в отрыве от специфики проекта не показатель вообще ничего.

AP ★★★★★
()

андроид тоже в случае системной проблемы «окирпичивается», чтобы не дать неопытному пользователю доломать девайс советами из интернетиков. Считается, что такими вещами действительно должны заниматься в сервисном центре, или хотя бы доверить более опытному пользователю отремонтировать сломанный девайс. Думаю, разработчики гнома видят таких пользователей и наверняка считают, что пусть лучше этот вопрос решает «системный администратор», перезагрузив девайс в траблшутинговом режиме.

linxon
()
Ответ на: комментарий от wandrien

А в нашей они не могут стабилизировать язык, а версия релиза на данный момент… 0.50.3.

У них мало людей, наверное поэтому. Я тоже думаю что Vala скоро депрекейтнут в пользу какого-нибудь нового модного кала. Когда это в IT рыночек решал и выигрывало действительно конкурентное, архитектурно цельное и расширяемое решение, а не вот это вот?

EXL ★★★★★
()
Ответ на: комментарий от AP

Специфика проекта в том, что они не могут стабилизировать язык.

Номер версии тут просто красивый (и в данном случае правдивый) показатель бардака.

В проекте такого возраста уже давно должна быть 1.0, а после неё еще штук 15 минорных релизов без потери обратной совместимости.

На деле имеем что имеем.

Вот glib2 тому пример - есть же хорошие разработчики в проекте, не всем же Vala писать…

wandrien ★★
()
Ответ на: комментарий от EXL

Я тоже думаю что Vala скоро депрекейтнут в пользу какого-нибудь нового модного кала.

Для этого сами разработчики языка с транслятором должны забить болт и перейти на что-то другое.

А вообще, как я заметил, когда гномерам надо наваять себе какую-нибудь мелкую утилиту для простой задачи, они всё чаще берут раст.

AP ★★★★★
()
Последнее исправление: AP (всего исправлений: 1)
Ответ на: комментарий от AP

Вроде как Vala активно поддерживается авторами Elementary OS и Pantheon DE? Или они её просто активно используют?

А вообще, как я заметил, когда гномерам надо наваять себе какую-нибудь мелкую утилиту для простой задачи, они всё чаще берут раст.

Осталось только прилепить Rust’у нормальную GUI-библиотеку написанную на самом Rust’е. Нет ли там начинаний каких-либо в The GNOME Foundation на этот счёт?

EXL ★★★★★
()
Ответ на: комментарий от EXL

Вроде как Vala активно поддерживается авторами Elementary OS и Pantheon DE? Или они её просто активно используют?

Не знаю, насколько активно они вкладываются кодом в Vala.

Осталось только прилепить Rust’у нормальную GUI-библиотеку написанную на самом Rust’е. Нет ли там начинаний каких-либо в The GNOME Foundation на этот счёт?

По-моему, все просто привыкли писать байндинги к готовым тулкитам. Мне лично идея писать целый тулкит с нуля в 2021 году кажется контрпродуктивной. Ну это ж реально угрохаться можно, если подумать, сколько всего надо учесть. На одном только текстовом вводе для CJK можно голову сложить.

AP ★★★★★
()
Ответ на: комментарий от d09

Это только мои ощущения. Если бы я пришел с винды сейчас, то однозначно гном вогнал бы меня в ступор. А KDE нет, там все привычно и знакомо.

Polugnom ★★★★★
()
Ответ на: комментарий от Polugnom

Ну да, а приди ты с мака, наоборот бы было. Их обычно не панельки, а необходимость хотя бы изредка консоль открывать в больший ступор вгоняет,по моему опыту

d09
()
Ответ на: комментарий от AP

Насколько я знаю, GTK+ не настолько огромен, как Qt Widgets. И его-то вполне можно было переписать на Rust, будь у The GNOME Foundation ресурсы и человекочасы на это.

EXL ★★★★★
()
Ответ на: комментарий от d09

Панель наверху. В кедах она внизу. Поэтому гном как мак,а кеды как винда,ну же)

А вот это KDE-разработчики откуда лизнули?

https://baat.z-lab.me/~exl_lab/screens/kde5_login_screen_new.jpeg

Для сравнения:

https://baat.z-lab.me/~exl_lab/screens/macos_loginscreen.jpg

В KDE ранее был отличный лок-скрин:

https://baat.z-lab.me/~exl_lab/screens/kde5_login_screen_old.jpg

Но нет, нужно обязательно лизнуть у Apple.

EXL ★★★★★
()
Ответ на: комментарий от d09

получился вяленый, который уж точно не лучше

Кстати, если говорить о X11 как о комбайне, то Wayland принципы нарушает ещё больше.
X11: Сервер, оконный менеджер, композитный менеджер, сервер шрифтов (если кто помнит, был и такой).
Wayland: Всё, что выше перечислено в одном флаконе.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от Polugnom

не получится удовлетворить никого.

Поэтому они просто решили сразу не удовлетворять никого, чтобы и не задаваться этим вопросом?
А кто-то мне выше писал «Благодаря расширениям он невероятно настраиваем». Просто все расширения там для панелей GNOME Shell. Можно добавить апплет погоды. И это никак не решает проблему недостатка функционала в других частях DE.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Снять тебе видео актуальной версии гнома, где запуск бинарей из наутилуса прекрасно работает?

AP ★★★★★
()
Ответ на: комментарий от wandrien

а на gtk проще сразу вдоль

Ну, справедливости ради, нативный софт на GTK ещё пока можно писать более-менее нормально.

ls-h ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.