thedeemon: (Default)
[personal profile] thedeemon
Внезапно всплывший перевод интервью двухлетней давности с кернел-разработчиком, который пытался улучшить поведение декстопного Линукса, но не мог толком эти улучшения продемонстрировать, вызвал очередные дискуссии про перспективы Линукса на десктопе.

Да нет у него никаких перспектив.

Основная его проблема - мало нужного, качественного и удобного софта. И главная ее причина, на мой взгляд, - отсутствие бинарной совместимости. Когда есть куча плохо совместимых дистрибутивов, в них куча несовместимых версий, единственный более-менее работающий способ распространения софта - в исходниках, со сборкой на месте. Кому это подходит?

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

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

Типичные слова линуксоеда: "Если бы люди умели пользоваться vim, grep, sed, awk, то миллионы программных продуктов так никогда и не были бы созданы (C) кто-то умный". В том-то и беда. Именно так теряется 95% аудитории - основная масса юзеров не будет тратить по полгода на изучение этих ваших vim, grep, sed, awk, perl и bash. Им нужна программа с красивым окошком и кнопкой "сделать п%$дато", а не набирать в консоли "ps aux | grep dmz | awk '{ print $3, " ", $2 }' | sort | tail -n 5 | awk '{ print $2 }' | xargs kill -9". Нужен простой и удобный в использовании софт, решающий конкретные задачи рядовых и не очень пользователей. Такие программы будут только там, где будут коммерческие разработчики, которые смогут их продавать за доступные хоум-юзерам деньги. А для такого софта дистрибуция в исходниках никак не годится.

Вот есть, например, Маки. Там дистрибуция и установка программ в бинарной форме была отточена отлично, оттого куча удобного, приятного и радующего пользователей софта, за который те с радостью платят деньги. Есть винда, где я компилю в Win7 бинарник с минимумом зависимостей, и он прекрасно работает и в Висте, и в ХР, и даже в Win98. В нем я могу реализовать какую-то пусть не идеальную, но работающую защиту от взлома, и спокойно его продавать. А вот понадобилось мне недавно простейшую консольную прогу запустить на хостинге с этим вашим линупсом, так нет - нужного компилятора там не стоит и прав нет поставить, просто собранный бинарник не работает из-за другой версии GLIBC, а статически собранный - не работает, потому что ядро, дескать, слишком старое, хотя и там и там 2.6.чего-то. При таком подходе я буду продолжать делать шаровары для винды и мака, а линуксоеды пусть дальше довольствуются своими поделками.
Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2009-09-17 08:19 am (UTC)
From: [identity profile] nealar.livejournal.com
У меня ровно обратное впечатление о совместимости. Простейшие программулины с fbsd на линупс переносятся прям в бинарнике, а любая маломальски новая софтина под винду на 9x уже не работает. Немодно писать под олдовое винапи.

Date: 2009-09-17 08:48 am (UTC)
From: [identity profile] metaclass.livejournal.com
У меня софт работает от 98 до Win7 без особых проблем.

А вот когда я собрал QT прогу на lenny и попытался запустить на etch - а вот хрен. Того нет, этого нет, glibc не тот и прочее не то.

Date: 2009-09-17 09:00 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, в линуксе очевидно не хватает большой прослойки программистов-прикладников, которые не пишут никаких ядерных модулей и прочего узкоспециального трэша, а пишут чисто мелкие прикладные программы. И балом правят гики, которым это все не нужно.

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

А вот для людей которые сами настраивают/работают/обслуживают свой комп, но не являясь при этом профессиональными гиками - тупичок-с, однако. Им требуются более сложные варианты работы с компом, чем доступно из графических сред, но если они полезут в редактирование конфигов и командную строку - им придется осваивать это дело на уровне профессиональных админов.

Date: 2009-09-17 09:04 am (UTC)
From: [identity profile] nealar.livejournal.com
От 98 на 7 - да, без проблем. А вот в обратную сторону - много уже такого, что на 9x в принципе не будет работать.
То есть, все ваши проблемы в том, что есть 2 эталонных винды: 9x и NT и производители софта, которые хоть что-то соображают, явно указывают совместимость с ними. А выделенного линупса, с которым надо указывать совместимость, - нет. И если кто-то вдруг задумает выбрать эталонные дистрибутивы, то линупсоеды мигом подерутся. Вот BSD всего 3 основных, так у большинства именно-BSDшных софтин чётко указана совместимость.

Date: 2009-09-17 09:05 am (UTC)
From: [identity profile] nealar.livejournal.com
Собсна, с виндой это верно ровно настолько же. Да и на маке я не всё в графических средах находил. Куда податься бедному юзеру?

Date: 2009-09-17 09:37 am (UTC)
From: [identity profile] thedeemon.livejournal.com
В интернеты. Делишься с поисковиком своей проблемой, и он тебе находит ее решение в виде программы, причем не линуксовой. ;)

Date: 2009-09-17 09:46 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Причем производитель программы позаботится о том, чтобы поисковик ее нашел, а юзер понял как ее использовать. Это вам не ссылка на tar.gz c подписью "So long and thanks for all the fish".

Date: 2009-09-17 11:17 am (UTC)
From: [identity profile] nealar.livejournal.com
Проверим. Что-то раньше никаких-таких чудес в инетах не попадалось.
Во, сразу пример нашёл: собрать Network.Curl под виндой. Какая программа из интернетов такое умеет? А продолжительное ковыряние в исходниках и конфигах таки даёт результат. Говорят. Сам ещё не пробовал.
И в линухах всё то же самое. Не с Network.Curl, оно там само встаёт без звука. С другими вещами. Которые юзеру знать, в общем-то, вовсе и не хочется.

Date: 2009-09-17 11:26 am (UTC)
From: [identity profile] thedeemon.livejournal.com
"Собрать Х" - это не пример задачи хоум юзера. Речь выше шла о "пользователях-непрограммистах".

Date: 2009-09-17 11:29 am (UTC)
From: [identity profile] vp.livejournal.com
Эти все вещи известны и по пальтсам пересчитаны, и описаный в книжках.
И для 99.9% говноприкладных программистов эти вообще не проблема - они в те технологии, где есть несовместимость/версионность даже не нюхали.

Date: 2009-09-17 11:35 am (UTC)
From: [identity profile] vp.livejournal.com
+100 под каждым словом, я много раз о том же писал.
Еще добавлю важный момент - это входной порог. Низкий входной порог для программистов-прикладников. Именно эта армия студентов-кодеров и позволила решить тот пласт проблем и реализовать тот объем "систем АСУ" разных уровней для всех областей бизнес.
Входной порог на линукс неимоверно высок. Вот в том и проблема. В мире разработки прикладных систем нет гиковства (или минимум) - там всем рулят финансы и хозяин скажет писать под Win, т.к. физически не найдет программиста под линукс, и стоимость часа будет в итоге х10.
Второй аспект - это да, монолитность приложений. Я у себя в ЖЖ пытался этот вопрос выяснить у линкус-гуру. Ответ практически один: в таком стиле делать НЕ ПРИНЯТО.

Date: 2009-09-17 11:37 am (UTC)
From: [identity profile] nealar.livejournal.com
Простому программисту всю эту муру учить, в общем-то тоже ни к чему. Пусть торвальдсы с балмерами заморачиваться. Мне надо чтоб моё - работало. А тыщу конфигов ковырять для этого - не надо.
Вот за это я не люблю линупс.
И винду тоже, да.
И хоум-юзер его не любит за те же самые конфиги. Вот такое совпадение.

Date: 2009-09-17 12:35 pm (UTC)
From: [identity profile] stepancheg.livejournal.com
Будущее десктопного линукса за большой компанией, которая будет способна сделать из него хорошую систему и продавать её. Я думаю, это будет какой-то производитель железа. Технологически же линукс превосходит все остальные современные операционные системы.

Date: 2009-09-17 01:43 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Да, если возникнет один дистрибутив - стандарт де-факто, тогда шанс появится.

Date: 2009-09-17 01:49 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Мне показалось, сейчас для создания прикладного софта порог не такой уж большой - есть и всякие библиотеки, и IDE, и редакторы форм. Больше трудностей с деплойментом.

Date: 2009-09-17 02:10 pm (UTC)
From: [identity profile] stepancheg.livejournal.com
По сравнению с какой операционной системой?

Date: 2009-09-17 02:47 pm (UTC)
From: [identity profile] stepancheg.livejournal.com
Мой рабочий компьютер — MacOS X. Если на нём компилировать программу в два потока в течение 10 минут, система начинает сильно зависать на 5 секунд, примерно раз в минуту.

Если в MacOS X делать создавать высокую дисковую активность (например, копировать файл), то MacOS X также может начать тупить, но это сложнее воспроизвести.

Под Windows я могу мало сказать, потому что с Windows стараюсь не сталкиваться.

Навскидку, одна из проблем Windows — не POSIX. Серверная программа, которую я пишу на работе, должна работать под Linux, FreeBSD, MacOS X и Windows. Поддержка совместимости с Windows обходится мне в разы дороже, чем поддержка всех остальных операционных систем.

У Windows страшные API, этих API много, все они сложные, и они друг друга исключают. Например, в POSX есть poll, он работает с файловыми дескрипторами. В Linux есть epoll, он тоже работает с файловыми дескрипторами, и это простая замена poll. В Windows poll работает только с сокетами. Есть WaitForMultipleObjects, но он, то ли не работает с сокетами, то ли работает как-то через жопу. Ну то есть есть отдельный API для сокетов, и отдельный API для файлов.

Windows, фактически, одноплатформенная система (т. е. i386/x86_64), линукс работает на десятках платформ.

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

Плюс в Windows есть реестр — и это большая проблема.

В общем, не знаю я, что не так в Windows. Раз в месяц приходит письмо, что наш внутренний сервер перезагружается. Наверное, это от технологического несовершенства. Наши сервера под Linux/FreeBSD не перезагружаются месяцами, а то и годами.

Date: 2009-09-17 03:03 pm (UTC)
From: [identity profile] vp.livejournal.com
Нет, это мифология.
Производили тесты с написанием кроссплатформенного софта (QTcreator), скорость разработки в 5 раз ниже. Причина - несовершенная отладка и т.п.

Date: 2009-09-17 05:23 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
>Мой рабочий компьютер — MacOS X. Если на нём компилировать программу в два потока в течение 10 минут, система начинает сильно зависать на 5 секунд, примерно раз в минуту.

Если в MacOS X делать создавать высокую дисковую активность (например, копировать файл), то MacOS X также может начать тупить, но это сложнее воспроизвести.


В приведенном выше интервью чел жаловался на подобные же проблемы в Линуксе, их-то он и пытался исправить.

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

Реестр иногда приносит проблемы, зато хотя бы имеет единую предсказуемую структуру с единым API. В Линухе каждая программа хранит настройки как заблагорассудится.

А сервер ваш может быть банально перезагружается при установке апдейтов. Моя виста на ноуте тоже раз в 2-3 недели просит перезагрузиться для их установки.

В общем, пока не убедил. ;)

Date: 2009-09-17 05:59 pm (UTC)
From: [identity profile] stepancheg.livejournal.com
Спорить можно до бесконечности. Давай тут остановимся и останемся при своих мнениях.

подсказка

Date: 2009-09-18 07:58 am (UTC)
From: [identity profile] nealar.livejournal.com
Такой производитель железа называется Apple. Правда, линуксовое ядро их уже не устроит. Старьё.

Date: 2009-09-18 09:38 am (UTC)
From: [identity profile] zhengxi.livejournal.com
Эти вещи пересчитаны, но на них забивают болт как на низкоприоритетные.
Google Chrome, например требует минимум Windows XP SP2, на Windows 2000 не работает, не говоря уже про '98
Clozure Common Lisp тоже.

Date: 2009-09-18 09:57 am (UTC)
From: [identity profile] vp.livejournal.com
Нафига козе боян?
Зачем браузеру такая чувствительность к ОС?
ОЧЕНЬ интересный вопрос!!!

Re: подсказка

Date: 2009-09-18 10:57 am (UTC)
From: [identity profile] stepancheg.livejournal.com
Вы плохо понимаете, о чём говорите.

Re: подсказка

Date: 2009-09-18 02:30 pm (UTC)
From: [identity profile] nealar.livejournal.com
Ну так объясните мне ;)
Page 1 of 4 << [1] [2] [3] [4] >>

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 28th, 2026 02:21 pm
Powered by Dreamwidth Studios