Свободные программы и системы в школе

Автор: Пользователь скрыл имя, 17 Ноября 2014 в 19:57, статья

Краткое описание

Зачем программам быть свободными?
Право и экономика ПО.
Применимость СПО при реализации «Обязательного минимума.
Логика и последовательность освоения СПО.

Файлы: 1 файл

Отставнов Свободные программы и системы в школе.rtf

— 2.67 Мб (Скачать)

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

«Просвещение» (www.Enlightenment.org) создано Карстеном Хайцлером и Джеффом Харрисоном (Carsten Haitzler, Geoff Harrison) и его текущая версия – 0.16.5. До 2000 г. он был «штатным» менеджером окон в популярной среде «Гном» (см. раздел 2.17), затем уступив это место менее функциональной, но более быстрой «Рыбе-пиле» (Sawfish). Он продолжает оставаться «Гном»-совместимым, и многие пользователи этого популярного десктоп-менеджера предпочитают его, хотя и без «Гном» у Enlightenment поклонников хватает.

 

Рис. 2-4

 

Запустим «Просвещение» (Рис. 2-4). Как резко изменилась картина!

Первое, что мы видим – это появившиеся вокруг окна нашего xterm «виджеты» (элементы окон) – строка заголовка с кнопками и рамка. Окно теперь можно перемещать по экрану, «ухватив» за заголовок, масштабировать, «взяв» за бок или за угол, максимизировать, минимизировать или закрыть, нажав соответствующую кнопку. Спрашивается, что еще можно делать с окном?

 

Рис. 2-5

 

Вопрос не праздный. Нажав на левую кнопку в заголовке, получаем неожиданно разнообразное меню (меню – это тоже «виджет») таких действий (Рис. 2-5). Оказывается, его можно еще уничтожить (Annihilate), поднять/опустить (Raise/Lower), оттенить/растенить (Shade/Unshade) приклеить/отклеить (Stick/Unstick) и выполнить еще массу действий, для которых потребовались отдельные меню! Набор этих действий зависит от конкретного менеджера окон (и Enlightenment – один из самых богатых возможностями), а то, какие из них выведены в строку заголовка отдельными кнопками – вообще от его настройки.

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

 

Рис. 2-6

 

Вы уже обратили внимание на то, что при запуске «Просвещения» на экране появилось еще одно окно. Это так называемый пейджер (pager), на Рис. 2-6 он изображен крупным планом. На пейджере представлена миниатюрная копия экрана, обновляющаяся в режиме реального времени, причем, если подвести курсор к изображению отдельного окна, оно увеличивается и рядом высвечивается название приложения, запущенного в нем. Но почему экран занимает только четверть окна пейджера? Потому что оконный менеджер позволяет оперировать «виртуальным столом, по размеру превышающим физический экран, а пейджер – одно из средств перемещения физического экрана по рабочему столу. Enlightenment позволяет создавать до 64 экранов на рабочем столе.

 

Рис. 2-7

 

Еще один важный компонент Enlightenment мы не увидели сразу: это меню настройки самого менеджера, которое можно «достать», щелкнув правой кнопкой мыши на фоне экрана (Рис. 2-7). Порывшись в настройках, можно обнаружить, что вышесказанное о способах оперирования с этим менеджером весьма условно, потому что поменять можно буквально все, от декора виджетов до количества и функций элементов оформления окон и их реакции на различные действия.

Лишь один пример: сколько способов визуализировать перемещение окна вы знаете? Разработчики «Просвещения» придумали целых шесть, включая фантастический «полупрозрачный». Настройки и расширения Enlightenment можно объединять в «темы» (themes) и обмениваться ими.

Собственно, на этом функции оконного менеджера как такового и заканчиваются, а дальше Enlightenment вторгается во владения другого класса программ – менеджеров рабочего стола...

2.5 Столоначальники

 

...Что демонстрирует отсутствие резкой границы между ними. Существует два подхода к тому, чтобы достроить оконную систему до полнофункциональной среды. Первый – добавить в «графический сэндвич» еще один слой – менеджер рабочего стола – работающий «поверх» оконного менеджера и использующий функциональность последнего. Этим путем идут команды разработчиков «ГНОМ» (см. раздел 2.17) и «КДЕ» (см. раздел 2.18).

Другой путь – «дотянуть» до полнофункциональной среды функциональность самого оконного менеджера, и им идет «Enlightenment» и ряд других проектов.

Чего нам не хватает до полнофункциональной среды? Менеджера программ и утилит. Так вот, в «Просвещении» есть и такая функциональность, доступная (по умолчанию) по щелчку на фоне левой кнопкой.

Комментировать здесь особо нечего: пункты меню позволяют запустить множество различных приложений, причем, кроме независимо разработанных, и целую пачку «эпплетов», поставляемых вместе с «Enlightenment». Альтернативный способ запуска – через «панель» – встроен в некоторые темы «Просвещения».

Откуда берутся такие ресурсы, как «виджеты» с их декором и способом поведения? Конечно, менеджер окон может содержать их в себе. Но такой подход не очень характерен для открытых систем, одним из принципов разработки которых является компонентность. Большинство развитых оконных менеджеров, менеджеров рабочего стола и «заточенных» под них приложений можно сгруппировать по библиотекам (toolkits), с опорой на которые они разработаны.

2.6 Триумф интерфейса над пользователем?

 

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

Фредерик Брукс еще в 1995 г., обсуждая основные процессы, произошедшие в программной отрасли за 20 предшествовавших лет, назвал в числе «наиболее впечатляющих явлений» «триумф интерфейса WIMP» [17, сс. 239-243]. В этом ставшем классическим четырехстраничном анализе (всем, интересующимся темой, крайне рекомендуется прочитать эти четыре страницы, а заодно – и всю книгу), Брукс:

производит декомпозицию самой идеи («диалог» с системой: объекты-«существительные» и действия-«глаголы»),

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

называет ограничения метафоры «рабочего стола» («проблема двух курсоров»), а также

предрекает устаревание WIMP при внедрении речевого интерфейса («WIMP через поколение станет достоянием истории. Указание курсором останется способом задания существительных при управлении нашими компьютерами. Для выражения глаголов станет использоваться речь»).

Прошло еще пять лет, и мы можем отметить, что:

Проф. Брукс не заметил решения «проблемы двух курсоров» (а заодно – и непротиворечивой интеграции командной строки в графико-интерфейсное окружение) в конце восьмидесятых в Norton Commander (и сонме последователей этой замечательной программы на разных платформах (обзор см. в 63. Проф. Безруков предложил для реализованного в Norton Commander интерфейса термин «ортодоксальный менеджер файлов» (OFM));

WIMP не думает устаревать, и скорее сам абсорбирует новые интерфейсные возможности (включая распознавание речи), чем будет вытеснен ими;

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

«Сплошной» же WIMP-среды и вовсе нет нигде, кроме встроенных/специализированных систем: в любом окружении, претендующем даже не на универсальность, а просто на широкую сферу применения, элементы WIMP сочетаются с элементами другой интерфейсной модели – командно-строчной – иногда более органично (OFM, AppleScript и т.п.), а чаще эклектично, противоречиво и с фатальным для производительности исходом (фрагменты «рваной» командной строки в «диалоговых окнах», разнообразные Wizards и «окна установки предпочтений»).

Если перечитать текст доклада, в котором идеи WIMP впервые были представлены широкой публике 64, станет понятно, почему: модель WIMP предлагалась как средство непосредственного манипулирования конкретными объектами («взять это и положить туда», «изменить такое-то свойство того-то объекта», а не как средство формулирования абстрактных положений и команд («все ли файлы, лежащие в каталоге X, имеют формат Y?», «удалить все файлы, созданные до 01.01.2000 в которых упоминается Борис Ельцин» и т.п.). Соответственно, сделать WIMP-рабочее место для выполнения технических процедур, «рабского», неквалифицированного труда можно, а вот систему поддержки полноценной свободной практики – затруднительно.

2.7 От какого наследства нам не стоит отказываться?

 

Виктор Вагнер 65 противопоставляет «рыхлости» модели WIMP, пусть и целостной метафорически, концептуальную целостность командно-строчного интерфейса, основывающуюся на четырех принципах:

универсальности формы представления информации (текстовый файл, понимаемый как последовательность символов, некоторые из которых разделяют строки (записи), поля и слова);

возможности переназначения ввода-вывода и соединения программ каналами;

философии «набора инструментов» (одна утилита – одна функция);

наличия в оболочке механизма регулярных выражений.

По Вагнеру, по-настоящему успешным графическим интерфейсом («True UNIX GUI») будет интерфейс, предлагающий не менее целостную и последовательно реализованную концептуальную основу. Причем, предлагающий ее не только и не столько конечному пользователю, сколько разработчику, т.е. реализованный начиная с системы быстрой разработки (СБР, RAD). В упомянутой статье Вагнер рассматривает несколько кандидатов на роль универсальной формы представления информации в графической среде и рассуждает о том, какие принципы могли бы стать аналогами другим «китам», на которых покоится командно-строчный интерфейс.

На самом деле, существует целый ряд систем, в той или иной степени закладывающих основу «интерфейсов следующего поколения». К сожалению, ни одну из них нельзя назвать на сегодня массовой, кроме, возможно, языка описания интерфейса XUL, использованного в «Мозилла» (см. гл. 3), но и для XUL пока нет СБР.

2.8 Зачем нужны «легкие» среды?

 

В то время, как сама оконная система «Икс» много лет является фактическим отраслевым стандартом, лежащие «над» нею слои графической среды не стандартизованы.

Какую-либо классификацию графических сред дать затруднительно, однако самым грубым образом их можно разделить на «интегрированные» и «легкие».

Оборотной стороной интегрированности является достаточно высокая их требовательность к ресурсам. Комфортная работа с «КДЕ» или «Гном» «свежего разлива» начинается примерно от производительности, эквивалентной производительности 800 МГц процессора Celeron, отказ от некоторых ресурсоемких свойств (анимация изменений в среде и т.п.) позволяет «снизить планку» примерно до 500 МГц при объеме оперативной памяти от 128 МБ. Разумеется, эти цифры даже ниже характерных для компьютеров «стартового уровня», поставляемых сегодня производителями, однако парк машин, находящихся в эксплутации, как в офисах, так дома и в школе, включает и компьютеры с более низкими характеристиками.

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

Обсуждаемые сегодня IceWB, BlackBox и fluxBox (а также чуть более требовательный к ресурсам WindowMaker)66 позволяют достаточно комфортно работать с графикой на машинах производительностью (в эквиваленте Intel Pentium) примерно от 100 МГц и с памятью от 32М (текст одного из предыдущих разделов набирался в поезде, с одновременной «съемкой» изображений с его экрана графическим редактором «ГИМП» (см. главу 5) на ноутбуке с процессором Intel Pentium MMX 166 и ОЗУ объемом 64МБ).

Следует оговориться, что отказ от интегрированных графических сред не является «волшебной палочкой»: конкретные прикладные программы могут быть сами по себе достаточно требовательными к ресурсам. Так, на упомянутом ноутбуке запуск word-процессора «OpenWriter» занимает более минуты (хотя дальнейшая работа не сопряжена с существенными задержками). Кроме того, если прикладная программа изначально создана в ориентации на определенную интегрированную среду, она может интенсивно использовать соответствующие библиотеки, даже если запускается в «легкой» среде. Например, запуск программ из пакета KOffice в «легкой» среде, на самом деле, дает небольшой выигрыш по сравнению с его запуском из «родной» для него среды «КДЕ».

(Если необходимо задействовать имеющийся парк «слабой» техники для таких задач, а также, если необходимо сохранять в эксплуатации еще менее производительные машины (например, старшие модели IBM PC-совместимых компьютеров на базе процессоров Intel 486 или AMD 586 или «Макинтоши» на процессорах Motorola 68K), следует подумать об использовании такой техники в режиме графических терминалов или, по крайней мере, варианте запуска наиболее «тяжелых» прикладных программ на сервере.)

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

2.9 Базовая функциональность оконного менеджера

 

Как уже говорилось, ключевой компонент графической платформы – Икс-сервер:

захватывает оборудование,

создает по запросу других программ (которые в этой терминологии называются X-клиентами) окна и

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

Информация о работе Свободные программы и системы в школе