Читаем Журнал «Компьютерра» №46 от 15 декабря 2005 года полностью

- Пожалуйста, Джордж, не отбирай.

- Дай сюда!

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

Дж. Стейнбек


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


Опыт конспирологии


Без сомнения, именно использование мыши было одним из главных факторов развития графических, двухмерных интерфейсов. Наличие мыши и - пресловутая «интуитивная понятность». Именно здесь произошло «отбрасывание старого» - как часто бывает, новый способ построения интерфейса, он же GUI[Graphical User Interface - графический интерфейс пользователя], он же WIMP[Windows, Icons, Menus, Pointers - окна, иконки, меню, курсоры], не продолжал, а отбрасывал старые традиции.

Одномерный интерфейс - программа получает «вход», выдает «выход» - предполагал легкость создания «цепочек программ» (выход одной является входом другой). Двухмерный - пользователь тыкает мышью в кнопки и менюшки, изображение на экране меняется - не предполагает возможности взаимодействия между разными программами (кроме той, что заранее задана автором программы). То есть, говоря по-умному, был «широкий командный язык при бедности средств выражения», а стал «узкий командный язык при богатом интерфейсе». Раньше одна программа могла послать другой строчку символов - и вторая практически гарантированно их поняла бы и как-то обработала. Сегодня одна программа может послать другой только[Это, конечно, упрощение - но допустимое и на понимание ситуации не влияющее] сообщение «тыкнули мышью в точку [x, y]» - но, чтобы это сообщение было осмысленным, посылатель сообщения должен понимать, где (по каким координатам) у получателя находятся «органы управления» (кнопки, менюшки, поля ввода) - а вопрос это нетривиальный и в общем случае неразрешимый.

«Великий храм рухнул, остались лишь камни» (гр. «Крематорий») - была разрушена инфраструктура, которую позже начали называть Unix-way: куча маленьких программ-утилит, каждая решает ровно одну задачу, сложные задачи решаются цепочками программ. Нет больше цепочек, есть монолитные монстры. Pardon moi, но и здесь главный обвиняемый имеет две кнопки, одно колесико и один хвост (шарик в пузе - уже архаизм).


Ой, юникс-вэй!


Unix-way, «путем Unix», принято называть принцип работы системы, в которой каждая программа выполняет ровно одну задачу. В их основе лежит алгоритм «принять текст на вход, отработать, выдать текст на выход». Однородность входных и выходных данных позволяет строить мощнейшие «цепочки» программ. К примеру, в идеологии Unix-way почта должна работать следующим образом: одна программа обеспечивает подключение к POP-серверу; другая скачивает письма; третья распределяет их по папкам; четвертая проверяет на спам; написанием новых писем ведает пятая, отправкой - шестая. Такой способ работы для «нормального виндузятника» может показаться извращением, но он имеет свои преимущества. Во-первых, любая часть «мультипрограммной» среды может быть легко «подстроена под себя» или вовсе заменена другой; во-вторых, в эту цепочку можно включить что угодно (не только очевидную проверку орфографии, а, скажем, автоматическое составление графика встреч по некоторым письмам или еще какую экзотику вроде запуска компилятора).

Вообще говоря, название «Unix-way» является «отрицающим», «Unix» здесь означает «не Windows и не Mac OS», перешедшие на «модный GUI». Когда появились графические оболочки для Unix/Linux, сравнимые по понятности для юзера с ненавистной виндой (Gnome/KDE), они, по сути, копировали не только понятность Windows, но и «чайнико-центричную», «закрытую» идеологию программ «я сама по себе, меня не тронь». Отсюда и миф, что «по-другому, мол, нельзя», и даже сверх того: «Рюши (GUI) - для чайников, командная строка - для профессионалов».

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже