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.чего-то. При таком подходе я буду продолжать делать шаровары для винды и мака, а линуксоеды пусть дальше довольствуются своими поделками.
(deleted comment)

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

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 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
Спорить можно до бесконечности. Давай тут остановимся и останемся при своих мнениях.

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 05:18 pm
Powered by Dreamwidth Studios