Могли бы в качестве API более высокого уровня взять что-либо из существующего (qt, gtk).
Они и взяли. Наработки из NeXTSTEP. Ну и Qt и Gtk, как бы на тот момент тупо не существовало. Это:
1. Новодел.
2. Qt тогда был ______проприетарным______
Ну или на худой конец сделать свой графический тулкит кроссплатформенным.
Чтобы Билл продолжал тырить программы из macOS? Не нужно.
Пусть каждая программа делает что-то одно, но хорошо.
Xorg, например, является комбайном из убогих и хреново работающих реализаций.
Не рабочий сервер печати? Посмотрите в помойке X.Org;
Бинарные трансляторы COFF, a.out и ELF? Да вот же они;
Четыре хреново работающих подсистемы ввода, в которых никто не разбирается, в т.ч. сами авторы? Пожалуйста: базовый протокол X11, Xinput 1.0, Xinput 2.0, Xinput 2.2;
Свои несовместимые ни с чем замшелые говношрифты? Смотрите в сторону PCF, BDF и библиотеки X govnoFont library;
Свой, никому нахрен ненужный говнотулкит? Xaw via X Toolkit Intrinsics;
Сетевая прозрачность? Вся суть:
Базовый протокол X и DRI-1 имели сетевую прозрачность, но никто не использует ни то, ни другое. Shared-memory, DRI2 и DRI-3000 не имеют сетевой прозрачности и не работают по сети. В наше время X превратился в синхронный, плохо сделанный VNC. Если бы он был плохо сделанным асинхронным VNC, то может быть мы бы и заставили его работать. Но он не такой: XLib синхронная, а переход на XCB медленный, что делает передачу по сети настоящим кошмаром.
Это проблемы другого уровня. Не идеологические, а чисто технические, вызванные устареванием с одной стороны и необходимостью обратной совместимости с другой.
Разработчики иксов не ставили собой цели сделать плохую графическую подсистему.
А Apple ставила целью по максимуму ограничить пользователя и ухудшить кроссплатформенность. Что противоречит философии UNIX.
Если применять её без фанатизма, то не дурость. Тогда, например, ещё часто писали приложения на языке ассемблера. А это приводило к их непереносимости на другие архитектуры.
Не знаю, я не пользовался но, если не ограничен, это дело времени, раз в iOS всё ограничено по самое немогу.
Как минимум одно важное ограничение есть — ограниченность в выборе железа. Если хочешь пользоваться MacOS, у тебя на выбор только несколько моделей железа, на которых ты можешь ею пользоваться.
Нет, сейчас тоже имеет смысл. Например, может быть, приложение на Qt или аналогичного тулкита будет чуть менее производительным и чуть больше весить, чем нативное windows-приложение. Но ИМХО лучше его использовать, чем потом с нуля переписывать для других ОС.
Какая именно? X11? Возможно. Но это к теме не относится. Она крива не потому, что она сделана по философии unux, а потому, что на данный момент она устарела, а отказаться в пользу другой, написанной с нуля, не позволяют существующие приложения и драйвера видеокарт.
И если бы Х были такими вот белыми и пушистыми, их можно было бы упрятать в отдельную виртуалку и вынести вообще из основного дерева ОС, как это было в самом начале.
А теперь имеем радужные реляции что в каком-то там.. ой да этож ХромОС в 2017 почти что избавились от кусков Х11 в wayland.
И если бы Х были такими вот белыми и пушистыми, их можно было бы упрятать в отдельную виртуалку и вынести вообще из основного дерева ОС, как это было в самом начале.
Как ты драйвер видеокарты вынесешь на виртуалку?
А теперь имеем радужные реляции что в каком-то там.. ой да этож ХромОС в 2017 почти что избавились от кусков Х11 в wayland.
ChromeOS — неюниксвейная банальная проприетарщина. Зачем она тут?
Разработчики иксов не ставили собой цели сделать плохую графическую подсистему.
А мне именно так и показалось. Ну хотя бы в сравнении с Blit.
А Apple ставила целью по максимуму ограничить пользователя и ухудшить кроссплатформенность. Что противоречит философии UNIX.
Apple, как вполне себе коммерческое предприятие, ставило целью заработать бабла ! Причём тут философия UNIX не понятно, хотя AT&T продавала UNIX не дешевле :)
Не я про неё начал. На вопрос «причём тут сабж, какое отношение к теме сайта он имеет», был дан ответ, что MacOS — это UNIX. Я на это ответил, что философии UNIX MacOS не соответствует, а то, что она совместим с POSIX API, ничего не говорит, так как Windows вообще с недавних пор ещё и бинарно совместима с Linux.
Но она не считала своих пользователей быдлом. UNIX был относительно дружелюбным для хакеров (в хорошем смысле слова). Поэтому и Столлман взял API этой ОС для своей свободной системы.
И как, по твоему, выходить из этой ситуации линуксу?
линуксу
Линукс — это всего лишь ядро ОС. В круг задач ядра (как программы) не входит продвижение основанной на нём ОС. И вообще это дело людей, а не программы.
Я задам только один вопрос: BSD системы - это тру unixway? Если да, то чому ж например бсд утилиты сосут у гнутых, которые совсем не юниксвей?
P.S. Заодно юзерагент покажи, из какого юниксвейного браузера ты пишешь этот коммент.
Насколько я знаю, тезис о том, что UNIX предоставляет инструменты, а не политику, придумал не я. А Apple как раз принудительно навязывает свою политику.
Я задам только один вопрос: BSD системы - это тру unixway?
Понятия не имею, я их ни разу не видел.
Если да, то чому ж например бсд утилиты сосут у гнутых,
Гнутые более активно развиваются, у них большее количество разработчиков и тестеров. Ведь они по традиции входят в состав большинства дистрибутивов Linux, а сравни, в каком месте Linux, и в каком BSD.
гнутых, которые совсем не юниксвей?
Ты про gnu coreutils? Чем они не юниксвейны? Они небольшие и хорошо подходят для работы как вручную, так и через скрипты.
P.S. Заодно юзерагент покажи, из какого юниксвейного браузера ты пишешь этот коммент.
А где я писал, что нужно пользоваться только юниксвейным ПО?
Это означает GNU is not UNIX®. То есть, несмотря на то, что система является совместимой с UNIX по API и, возможно, построенной на тех же принципах, но тем не менее это другая, «принципиально новая» система.
Забыл добавить свое «имхо». Короче, юниксвейные утилиты из бсд - говно, а гнутые - рулят. Да и юниксвей сам по себе - убогая концепция, которая не нужна. Ты че юзерагент не скинул то, чай, не с курла пишешь, а с хрома какого-нибудь?
Да и юниксвей сам по себе - убогая концепция, которая не нужна.
Вот смотри. Сейчас информацию о системных настройках ты можешь получить либо прочитав конфиги в /etc, либо через консольные утилиты, либо через файлоподобные объекты в /proc и /sys. Благодаря этому ты можешь использовать эту информацию, как непосредственно, так и распарсить её в скрипте. Для изменения настроек ты также можешь пользоваться скриптами.
А представь, если бы, например, вместо yum или apt-get был бы только гуёвый менеджер пакетов. Как бы ты стал автоматизировать установку пакетов?
А наиболее противоположна юниксвею, наверное iOS. Возможности конфигурирования пользователем минимальны. Возможность расширения функционала искусственно ограничена. Взаимодействие отдельных приложений друг с другом наверное тоже ограничена или невозможна.