вторник, 6 января 2009 г.

Linux это НЕ Windows

Linux это НЕ Windows — Anticopyright

Материал из Anticopyright.

Перейти к: навигация, поиск

Linux это НЕ Windows — перевод статьи Linux is Not Windows, написанной Домиником Хамфризом (Dominic Humphries).


В данной статье я называю ОС GNU/Linux и различный свободный и открытый софт (Free & Open-Source Software, FOSS) обобщённым термином «линукс», так лаконичней и читается лучше.

Если уж ты попал на эту страницу, с большой вероятностью ты — относительно новый линуксовый пользователь, испытывающий проблемы перехода с Windows на Linux. Обычно переход приносит людям много проблем, из-за этого и написана данная статья. Проблемы при этом подразделяются на множество более мелких пунктов, — поэтому эта страница разбита на несколько проблемных областей.

Содержание

[убрать]

[править] Проблема первая: Linux не является в точности Windows-ом

Поразительно, как много людей жалуются на это. Они садятся на линукс, ожидая найти в нём, по существу, опенсорсовую версию винды [1]. Довольно часто именно эти ожидания формируются в результате их бесед с чрезмерно рьяными линуксоидами. Но надеждам этим не суждено оправдаться.

Частные причины, почему люди пробуют линукс, сильно варьируются, но общее место одно: они надеются, что линукс будет лучше виндоуса. Обычные критерии для суждения о превосходстве — это стоимость, возможность выбора, производительность и безопасность. Существует много других критериев, но практически каждый Windows-пользователь, который пробует Linux, делает это потому, что надеется получить лучшую ОСь, нежели ту, которую имеет.

В этом и состоит проблема.

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

В качестве простого примера рассмотрим обновление дров: на винде для обновления драйвера железа, нужно идти на сайт производителя и скачивать новый драйвер; в то же время, на линуксе ты просто апгрейдишь ядро.

Это означает, что единичное обновление линуксового дистрибутива («скачать и обновить») даст тебе новейшие дрова, доступные для твоей тачки, а вот под виндой придётся ходить по разным сайтам и скачивать все обновления по отдельности. Это два очень разных процесса, и определённо, линуксовый способ не плох. Но столь многие жалуются на него, потому что это не то, к чему они привыкли!

Или возьмём более звучный пример, Firefox — один из величайших успехов опенсорса, веб-броузер, покоривший целый мир. Разве удалось бы ему это, будь он идеальной имитацией Internet Explorer-а, более популярного броузера?

Нет. Он обрёл успех, потому что он был лучше Internet Explorer-а, и он был лучше, потому что он был другим. В него встроили табы, «живые» закладки, поисковую панельку, поддержку PNG, блокер баннеров и другие замечательные прибамбасы. Та же поисковая функция на нижней панельке, находящая слово сразу при наборе и подсвечивающая панель красным, когда нет соответствия. В Internet Explorer-е не было ни табов, ни RSS-функциональности, поисковые панельки только через third-party-расширения, зато было поисковое диалоговое окно, требующее нажать ОК, чтобы начать поиск, и опять нажать ОК чтобы убрать сообщение «не найдено». Вот тебе ясная и неоспоримая демонстрация преимущества опенсорсового приложения в результате того, что оно лучше, и лучше потому, что отличается. Был бы Firefox клоном Internet Explorer-а, он канул бы в лету. Был бы линукс таким же, как виндоус, с ним бы произошло то же самое.

Итак, решение проблемы 1: помни, тот Linux, к которому ты привык, не будет новой и лучшей версией Windows. Добро пожаловать в другой, отличный Linux, где всё по-новому. Только тот, кто отличается, может заблистать на фоне старого.

[править] Проблема вторая: Linux слишком отличается от Windows

Следующая проблема появляется, когда люди всё же ожидают, что линукс будет другим, но находят некоторые отличия слишком большими в сравнении с их предпочтениями. Возможно, наилучший пример — это поистине огромный выбор, доступный линуксовым пользователям. Когда «всё-в-коробке» виндопользователи получают «классический» или XP-рабочий стол с предустановленными Wordpad-ом, Internet Explorer-ом и Outlook Express-ом, «всё-в-коробке» пользователи линукса получают сотни дистрибутивов на выбор, в качестве рабочего стола Gnome, KDE, Fluxbox или ещё чего-нибудь; vi, emacs или kate; Konqueror, Opera, Firefox или Mozilla, и т. д. и т. п.

Виндопользователь не привык к такому выбору ещё на этапе инсталляции. Раздражённые посты «Зачем там столько всего на выбор?» встречаются сплошь и рядом.

Действительно ли линукс должен так сильно отличаться от виндов? В конце концов, они оба — операционные системы. Они оба выполняют одну и ту же работу: приводят в движение твой компьютер и дают среду для запуска приложений. В самом деле, не должны ли они быть более или менее идентичными?

Давай посмотрим на это с другой стороны: выйди на улицу, и посмотри на разнообразные транспортные средства, движущиеся по дороге. Они все разработаны с более ли менее одной и той же целью: доставить тебя по дороге из пункта А в пункт Б. Заметил, как различаются они в конструкции?

Однако ты можешь сказать, что различия между машинами пренебрежимо малы: у них у всех руль, педали, переключатель передач, ручной тормоз, окна и двери, бак… Если ты водишь машину, ты водишь любую машину!

Резонно. А вот заметил ли ты, что некоторые ехали не на автомобиле, а катились на мотоцикле..?

Переход с одной версии виндовоза на другую — это действительно как будто пересаживаешься с одной машины на другую. Между 95 и 98 виндой, честно говоря, я с трудом нахожу какие-то различия. Между 98 и XP действительно были большие изменения, но на самом деле — ничего особо глобального.

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

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

Или зайдём с другой стороны:

Линукс / автомобили с рождения были предназначены для нескольких пользователей / пассажиров. Винда / мотоциклы были разработаны для одного пользователя / пассажира. Каждый виндопользователь / водитель мотоцикла в любое время обладает полным контролем над компьютером / транспортным средством. Линуксовый пользователь / пассажир авто пользуется полным контролем над своим компьютером / транспортным средством, только когда вошёл в систему под root-ом / сидит в кресле водителя.

Два различных подхода в достижении одной и той же цели. Они отличаются фундаментально. Они обладают своими преимуществами и недостатками: автомобиль — очевидный победитель в доставке целой семьи или большого груза из пункта А в пункт Б, имеет больше сидений и багажник. Мотоцикл — очевидный победитель в доставке одного человека из А в Б, более подвижен в заторах на дороге и потребляет меньше топлива.

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

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

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

Итак, чтобы избежать проблемы 2, не думай, что быть продвинутым пользователем виндоуз автоматически означает быть продвинутым линукс-пользователем: когда ты первый раз запускаешь линукс, ты новичок.

[править] Проблема третья: Культурный шок

[править] Подпроблема 3-а: Культура действительно есть

Виндопользователи и производители ПО для виндозы находятся в более ли менее потребительских отношениях: пользователи платят за софт, за гарантии, за поддержку и т. д. Они ждут некоторого уровня удобства использования от софта. Поэтому они привыкли к правам, поставляемым им с программным обеспечением: ведь они заплатили за техническую поддержку и имеют полное право потребовать и получить её. Виндопользователи также привыкли иметь дело скорее с сущностями, объектами, нежели чем с людьми: они заключают контракт с компанией, а не с конкретным человеком.

Линуксоиды представляют собой сообщество. Им не приходится покупать софт, они не привыкли платить за техническую поддержку. Они скачивают ПО бесплатно и используют IRC или другой Instant Messaging и веб-форумы для получения помощи. Они имеют дело с реальными людьми, а не корпорациями.

Пользователь Windows, мягко говоря, не будет любим сообществом линуксоидов, если попытается привнести своё обыкновенное потребительское отношение к софту.

Наибольшие причины трений легко проследить на примере онлайнового общения: линукс-новичок «3-а»-типа просит о помощи в текущей проблеме с софтом. Когда он не получает эту помощь в достаточном, как ему кажется, объёме, он начинает жаловаться и требовать лучшей поддержки, потому что это то, к чему он привык, получая платную техническую поддержку. Проблема в том, что это не платная поддержка. Это некоторое количество добровольцев, великодушно желающих помочь людям в их проблемах. Новые пользователи не имеют права ничего требовать от них, как и некто, принимающий подаяния, не имеет права требовать больших пожертвований от спонсора.

В той же мере пользователь винды привык к коммерческому ПО. Компании не релизят свой софт пока он не станет достаточно надёжным, функциональным и удобным в использовании. Итак, вот что пользователь Windows ждёт от ПО: оно должно начинаться с версии 1.0. Программное обеспечение линукса, наоборот, релизится практически сразу, как только оно написано, и начинается с версии 0.1. Благодаря этому люди, которые действительно желают получить функциональность, получают её как можно скорее, заинтересованные разработчики могут заняться улучшением кода, и сообщество в целом остаётся в курсе происходящего.

Если «3-а»-пользователь натыкается на проблемы с линуксом, он кричит, что софт не соответствует его стандартам, и он думает, что у него есть право получить свои стандарты. Его настроение отнюдь не улучшается, когда он слышит саркастические ответы «На вашем месте, я бы потребовал деньги назад».

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

[править] Подпроблема 3-б: Новое и старое

Во многом линукс начинал свой путь как хакерское хобби (прим. корректора: это архаичное слово, обозначающее системных программистов, а не взломщиков). Он рос и привлекал всё больше увлечённых хакеров. Прошло довольно много времени, прежде чем не только технари научились запросто собирать пригодные к эксплуатации линукс-инсталляции. Линукс разрабатывался с девизом «От технарей, для технарей». И даже сегодня большая часть авторитетных пользователей линукса — откровенные технари (англ. geeks).

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

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

Во-первых, мы имеем жёстких технарей, которые всё ещё по умолчанию полагают, что любой пользователь линукса — такой же увлечённый технарь. Это значит, они предполагают высокий уровень знаний, и это часто приводит к обвинениям их в заносчивости, высокомерии и невежливости. И, по правде говоря, так оно иногда и бывает. Но довольно часто бывает и наоборот, заявление: «Все должны знать это,» — высокомерно. «Все знают это,» — на самом-то деле вовсе и не элитарно, пойми разницу.

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

Трения возникают, потому что первая группа состоит из людей, которым нравится разбирать свою ОСь на составные части, и собирать её обратно так, как им нравится, в то время как вторая группа более индифферентна к тому, как работает ОСь, пока та действительно работает без сбоев.

Аналогичную ситуацию, чтобы подчеркнуть проблему, можно найти в примере с конструктором Лего. Представим себе следующее:

Новичок: Я хотел новую игрушечную машинку, и все сходят с ума по поводу того, какие замечательные Лего-машинки могут быть. Вот я купил конструктор, но когда пришёл домой, и открыл коробку, там была всего лишь куча кирпичиков с зубчиками и прочая чепуха. Где моя машинка??

Бывалый: Ты должен сконструировать свою машинку из кирпичей. В этом и состоит смысл Лего.

Новичок: Что?? Я не знаю как делать машины. Я не механик. Откуда я знаю как всё это собрать воедино??

Бывалый: В коробке с конструктором лежит инструкция. Там подробно объяснено, как соединить кирпичи вместе, чтобы собрать игрушечную машинку. Тебе не обязательно знать как разрабатываются машины, просто следуй инструкциям.

Новичок: Ну хорошо, я нашёл инструкцию. Весь процесс займёт часы! Почему мне просто не продали игрушечную машинку, вместо этого я обязан собирать её??

Бывалый: Потому что не все хотят сделать игрушечную машинку из Лего. Из него можно собрать что душа пожелает. В этом и заключён смысл.

Новичок: Всё равно не понимаю, почему не продают конструктор в виде готовой машинки, чтобы люди, которые хотят машинку, получили её, а другие смогли бы разобрать её на части, если уж им так хочется. Ну да ладно, я наконец-то собрал всё вместе, но некоторые кусочки иногда отваливаются. Что с ними делать? Я могу приклеить их?

Бывалый: Это Лего. Он был разработан, чтобы разваливаться. В этом и есть смысл.

Новичок: Но я не хочу, чтобы он разваливался. Я хочу просто игрушечную машинку!

Бывалый: Тогда за каким дьяволом ты купил коробку Лего??

Почти каждому очевидно, что конструктор Лего не предназначен для людей, которым нужна просто игрушечная машинка. Мы не сталкиваемся со спорами, подобным вышеприведённому, в обычной жизни. Весь смысл конструктора в том, что ты получаешь удовольствие, собирая его, и можешь собрать что угодно. Если тебе неинтересно ничего собирать, Лего не для тебя. Это довольно очевидно.

Постольку, поскольку дело касается давнишнего линукс-пользователя, вышеописанное имеет силу для линукса: это опенсорсный, полностью настраиваемый набор софта. Если ты не хочешь поиграться немного с компонентами, зачем тебе мучиться?

Но в недавнем времени множество усилий были приложены для того, чтобы сделать линукс пригодным для не-хакеров; мы в ситуации, когда не за горами продажа предварительно собранных Лего-наборов, чтобы сделать их привлекательными для более широкой аудитории (однако это время уже наступило — прим. перев.). И значит, мы недалеко от таких разговоров, которые подобны вышеприведенному: новички жалуются на существование того, что устоявшееся сообщество пользователей рассматривает как фундаментальные черты, и негодуют по поводу необходимости читать инструкции, чтобы получить что-то работающее. Но жалобы на то, что существует слишком много дистрибутивов, или что у софта слишком много настроек, или что он не работает идеально «из коробки», — подобны жалобам на то, что из Лего можно собрать слишком много разных моделей, и неприятие того факта, что они могут быть разобраны обратно по кирпичикам и собраны в виде многих других вещей.

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

[править] Проблема четвёртая: Разработано для разработчика

В автомобильной промышленности трудно найти человека, который бы разрабатывал двигатели и одновременно интерьер машины: это два кардинально различающихся навыка. Никто не захочет мотор, который только выглядит мощным, и никто не захочет интерьер, который функционален, но тесный и уродливый. Подобно этому, в индустрии ПО интерфейс пользователя (user interface) обычное не разрабатывается теми же людьми, которые программируют функциональную часть.

Однако в мире линукса этот принцип часто нарушается: проекты обычно начинаются как игрушка для одного человека. Он делает всё сам, и поэтому интерфейс не нуждается в том, чтобы быть «дружественным по отношению к пользователю»: пользователь и так знает всё, что нужно знать о своём софте. Vi — хороший пример программы, нарочно созданной для пользователя, который уже знает, как она работает. Теперь, бывает, новые пользователи перегружают компьютер, потому что не знают, как ещё можно выйти из vi.

Существует большая разница между FOSS-программистом и большинством коммерческих разработчиков софта: программы, которые создаёт FOSS-программист, — это программы, которые он же и собирается использовать. Значит, хотя конечный результат может быть поначалу не особо «комфортным» для пользователя-новичка, он может предполагать комфортное пользование в дальнейшем, ведь софт разработан тем, кто знает что нужно конечному пользователю, — он сам является конечным пользователем. Эта ситуация сильно отличается от коммерческой разработки ПО: там программисты пишут программы для других людей и не являются реальными конечными пользователями.

Таким образом, хотя vi имеет ужасно непривычный для новичков интерфейс, он широко используется сегодня, потому что тому, кто однажды познал этот интерфейс, становится понятным всё его великолепие. Firefox был разработан людьми, которые регулярно серфят по Web-у. Gimp был сделан людьми, которые используют его для работы с графическими файлами. И так далее.

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

Итак, во избежание проблемы 4, ищи софтвер, специально предназначенный для облегчения пользования новичками, или прими как данность, что некоторое ПО имеет более крутую кривую обучения, чем та, к которой ты уже привык. Если ты будешь жаловаться на то, что vi слишком сложен для нового пользователя, ты будешь высмеян как человек, который за деревьями не увидел леса.

[править] Проблема пятая: Миф о дружелюбности к пользователю

О, это раздутый миф. «Дружелюбный к пользователю» (англ. user-friendly) — это широко применяющийся в мире компьютеров термин. Так даже назван один очень хороший веб-комикс. Но этот термин плох.

Основная идея хороша: софт должен быть разработан в расчёте на потребностей пользователя. Но на эту идею часто ссылаются как на единственную идею, а такой подход неверный.

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

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

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

Простой ответ таков: «дружелюбный к пользователю» — некорректный термин, такой термин, который заставляет сложную ситуацию выглядеть простой.

Что же может означать термин «дружелюбность к пользователю»? В контексте, в котором он обычно употребляется, «дружелюбное к пользователю» ПО означает «программное обеспечение, которое пользователь с приемлемым уровнем компетенции может использовать без предварительного изучения этого ПО». К сожалению, благодаря этому паршивые-но-знакомые интерфейсы подпадают под категорию «дружелюбных к пользователю».

[править] Подпроблема 5-а: Привычное дружелюбно

Итак, в большинстве самых «дружелюбных к пользователю» редакторов и текстовых процессоров, ты осуществляешь операции «вырезать» и «вставить» с помощью клавиатурных комбинаций Ctrl-X и Ctrl-V. Абсолютно неинтуитивно, но все привыкли к этим сокращениям и считают это «дружелюбной» комбинацией.

И когда некто начинает использовать vi, ему кажется, что «d» для вырезания и «p» для вставки это не дружелюбно — не то, к чему этот некто привык.

Лучше ли сокращения vi? Да, на самом деле лучше.

Используя Ctrl-X, как ты собираешься вырезать слово из текущего документа (не используя мышку)?

От начала слова ты нажимаешь Ctrl-Shift-Right для выделения слова. Потом Ctrl-X чтобы вырезать его.

Каков подход vi? dw удаляет слово.

Хорошо, как насчёт вырезать пять слов, применяя Ctrl-X?

От начала группы слов Ctrl-Shift-Right, Ctrl-Shift-Right, Ctrl-Shift-Right, Ctrl-Shift-Right, Ctrl-Shift-Right, Ctrl-X

А что нужно в vi?

d5w

Подход vi намного более универсальный и в самом деле более интуитивный: «X» и «V» неочевидны и не ассоциируются с командами «вырезать» (англ. «Cut») и «вставить» (англ. «Paste»), в то время как «dw» для удаления слова (англ. «delete a word») и «p» для вставки обратно (англ. put, paste) — абсолютно очевидно. Но «X» и «V» это то, что мы все знаем, а vi хотя и использует лучший подход, непривычен. Следовательно, его называют «недружелюбным». Если нет знания других систем, близкое знакомство с виндо-подобными интерфейсами — это именно то, что делает их «дружелюбными». Кроме того, не следует забывать о проблеме 1: линукс совершенно необходимо отличается от виндоуса. И неизбежно, линукс всегда кажется менее «дружелюбным», чем виндоус.

Чтобы избежать проблемы 5-а, всё, что ты действительно можешь сделать, это попробовать запомнить: «дружелюбный к пользователю» не означает «того, к чему я привык». Пробуй действовать как обычно действуешь, но если что-либо не работает, как ты привык, приложи усилия к изучению софта так, как будто ты абсолютный новичок.

[править] Подпроблема 5-б: Неэффективное дружелюбно

Это печальный но бесспорный факт. Парадоксально: чем сложнее ты делаешь доступ к функциональности приложения, тем более дружественным оно может казаться.

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

  • Он предположит, что «Ctrl-B» стандартно применимо.
  • Он будет искать подсказки, и попробует кликнуть на меню «Edit». В случае неудачи, он скорее всего, продолжит поиск вдоль строчки меню, найдёт «Format». Потом внутри он увидит подменю «Font», и найдёт это многообещающим. Ага! Вон пункт меню «Bold». Ура!

В следующий раз, работая с какой-нибудь программой, попробуй выполнить всю работу через меню, без «горячих клавиш», без панельных иконок. Ползая по меню, ты поймёшь, как медленно движется дело, так как каждое действие неожиданно требует многих нажатий клавиш / кликов мышкой.

Создание «дружественного» ПО такими уловками — как добавление тренировочных колёс к велосипеду: это позволяет тебе сесть на него и поехать сразу, не требуя никаких навыков или опыта. Идеально для новичка. Но на всей земле никто не считает, что все велосипеды должны продаваться с дополнительными колёсами — если тебе дадут такой велосипед сегодня, могу поспорить, первое, что ты сделаешь, — снимешь их как ненужную обузу: если уже знаешь как ездить на велосипеде, тренировочные колёса не нужны.

Подобным образом, большинство программ для линукса разработано без «тренировочных колёс» — они разрабатываются для пользователей, которые уже имеют основные навыки. В конце концов, никто не может быть новичком вечно — невежество недолговечно, знание — навсегда. Таким образом, софт написан с мыслью о большинстве.

Это может показаться оправданием: в конце концов, Word имеет и дружелюбные менюшки, и панельные кнопки, и «горячие» клавиши… Лучшее из всех миров, не так ли? Дружественно и эффективно.

Однако, посмотрим на ситуацию шире. Для начала, практический аспект: чтобы запрограммировать все эти менюшки, панели с кнопками и «горячие» клавиши, нужно затратить много времени на кодинг, и вряд ли за это время кто-то заплатит линукс-разработчику. Во-вторых, это не учитывает потребности серьёзных опытных пользователей — очень немногие профессионалы используют Word. Когда нибудь встречал кодера, который использует Word? Сравни их количество с числом пользователей emacs-а и vi.

Почему так? Во-первых, потому что некоторые «дружественные» прибамбасы исключают эффективное использование приложения: см. «вырезать и вставить» пример выше. И во-вторых, потому что большая часть функциональности Word-а погребена под толстым слоем менюшек, который тебе приходится разгребать — только наиболее общепринятые действия отражены в тех удобных маленьких кнопках сверху. Менее используемые функции, которые тем не менее жизненно необходимы серьёзным пользователям, достать нелегко и долго.

Нужно также отметить, что пресловутые «тренировочные колёса» часто доступны в качестве «дополнительных принадлежностей» для линуксового софта — они могут быть неочевидными, но как правило, доступны.

Возьмём для примера mplayer. Ты используешь его для проигрыша видеофайла, набирая mplayer имя файла в консоли. Ты проматываешь вперёд и назад, используя стрелки и клавиши PageUp, PageDown. Это не особо «дружественно», но если ты наберёшь gmplayer имя файла, то получишь графический фронт-энд со всеми этими красивыми «дружественно»-знакомыми кнопочками.

Или преобразование CD-диска в Mp3 или Ogg: при использовании консоли, тебе нужна cdparanoia чтобы записать треки на винт. Потом тебе нужен энкодер… немного напряжно (пожалуй), даже если ты точно знаешь, как использовать соответствующие пакеты. Значит скачай и установи что-нибудь, подобное Grip-у. Это простой в использовании графический фронт-энд, который использует cdparanoia и «за кулисами» перекодирует музыку, что позволяет действительно легко рипать сидюки, у него даже есть поддержка CDDB, чтобы автоматически скачивать правильные имена файлов.

То же самое истинно для рипа DVD: количество опций, которые нужно передать в transcode, — это тихий ужас. Но использование dvd::rip как интерфейса к transcode делает всё простым, основанным на графическом интерфейсе, процессом, осилить который может каждый.

Итак, во избежание проблемы 5-б, помни: «дополнительные колёса» в линуксе, как правило, прикручиваются отдельными расширениями, а не ставятся автоматически вместе с главным пакетом. И иногда «тренировочные колёса» просто не могут быть частью программы.

[править] Проблема шестая: Подражание или сближение

Когда пользователи обнаруживают, что линукс — это не клон виндоус, они часто упорствуют в своём мнении, что линукс всегда стремился (или должен был бы стремиться) к подражанию с самого момента его создания, а люди, которые не принимают их мнения и не помогают линуксу становиться более похожим на винду, серьёзно ошибаются. Они приводят множество аргументов в защиту своего мнения:

Линукс пришёл от командной строки к графическому интерфейсу — очевидная попытка копировать виндовс.

Красивая теория, но ошибочная: первый релиз оконной X-системы был в 1984 году, она являлась потомком оконной W-системы, портированной под Unix в 1983 году. Windows 1.0 вышла в 1985, и до 3 версии, увидевшей свет в 1990 году, не была сколько-нибудь серьезной системой. К тому времени X-window уже годы подряд была на том же X11-уровне, что и сейчас. Проект Linux стартовал только в 1991 и не ставил целью копировать графический интерфейс винды: он всего лишь использовал GUI, существовавший задолго до виндоуса.

Виндоуз 3 расчистил дорогу для виндовоза 95 — огромного прорыва в пользовательских интерфейсах, а в них у Микрософта равных не было и не будет. Там было много новых инновационных фич: Drag & drop, панель задач и т. д. и т. п. Которые все были потом переняты линуксом, конечно.

Конечно… нет. Все вышеперечисленные фичи существовали и до того, как Микрософт воспользовался ими. В частности, NeXTSTeP был намного более передовым (для того времени) графическим интерфейсом пользователя и существенно опередил виндовоз-95 по времени: первая версия вышла в 1989 году, последняя — в 1995.

Ну ладно, ладно, Микрософт не придумывал конкретные фичи, о которых мы теперь думаем как о составляющих духа и самой сути Виндоуза. Но он в действительности создал этот дух и суть, который линукс безуспешно пытается сымитировать столько лет подряд.

Чтоб развенчать и этот миф, нужно привести концепцию эволюции сближения (конвергентной эволюции). Когда две полностью отличные и независимые друг от друга системы со временем становятся очень похожими. Это постоянно происходит в биологии. Например, акулы и дельфины: оба этих вида питаются (обычно) рыбой, их представители имеют схожие размеры. Оба имеют спинные, грудные и хвостовые плавники и схожие, обтекаемые формы тела.

Однако, акулы произошли от рыб, а дельфины эволюционировали от сухопутных четвероногих млекопитающих. Причина, по которой они имеют очень похожие внешние признаки, проста — оба этих вида эволюционировали так, чтобы быть максимально приспособленными к жизни в океанической среде. Ни на каком этапе прадедушки дельфинов, недавно прибывшие в водную среду, не смотрели на акул и не говорили друг другу: «Ой, посмотрите, какие плавники. Реально хорошие плавники. Я себе отращу что-нибудь подобное…»

В этом всём легко убедиться, если посмотреть на ранние линуксовые десктопы: на FVWM, TWM и другие простейшие GUI. А потом посмотреть на современные десктопы — Gnome, KDE с их панелями задач, менюшками и рюшечками. И да, нужно признать, что они намного более приблизились к виндовозу, чем раньше.

Но в таком случае, то же утверждение верно и для винды: насколько я помню, у виндоуз 3.0 не было панели задач. А меню «Пуск»? Какое такое меню «Пуск»?

У линукса не было десктопа, похожего на современный виндоус. У Микрософта тоже не было. Теперь у обоих — да, есть. И что это нам говорит?

Это говорит о том, что разработчики из обоих лагерей искали пути улучшения графического интерфейса пользователя, и вследствие ограниченного числа решений этой проблемы, они часто использовали похожие методы. Сходство ни в коей мере не доказывает и не подразумевает подражания. Помни это — избежишь проблемы 6 и участия в её холиворах.

[править] Проблема седьмая: Этот свободный и открытый софт (FOSS)

О, это порождает проблемы. Не само по себе: <a

Комментариев нет: