|
своей
изначально модульной и программируемой архитектуре. Сам по себе этот
редактор -- достаточно компактная и простая программа, однако
его возможности приумножаются за счет открытости архитектуры и наличия
множества модулей (в текущей поставке -- около трехсот), реализующих
те или иные дополнительные функции, такие как импорт-экспорт
сторонних форматов или обработку изображения или его фрагмента
по тому или иному алгоритму.
Такие
модули можно разрабатывать как отдельные программы
с использованием библиотеки GDK, а можно пользоваться одним из
встроенных в GIMP интерпретаторов языков программирования. Именно наличие
таких интерпретаторов и делает GIMP программируемым графическим
редактором. Можно сказать, что его архитектура подобна архитектуре
текстового редактора Emacs, о котором говорилось во второй
нашей "лекции".
Таких
интерпретатора на сегодня два. Забавное название
Script-fu, видимо, следует понимать как английско-китайское выражение,
означающее "мастерство сценирования" (напомним,
что "сценариями" ("скриптами") называют
программы, написанные на интерпретируемых языках). Script-fu --
это первый встроенный в GIMP интерпретатор функционального языка
Схема (Schema), являющегося потомком первого языка функционального
программирования Лисп. Разработчик скрипта имеет доступ
к многочисленным базовым функциям-графическим примитивам.
Схема
-- весьма продуманный и стройный язык, однако
его методический потенциал не может в полной мере быть раскрыт в
сегодняшних курсах информатики в средней школе, программирование в которых
вводится в директивной (сентенциональной) парадигме. На Схеме,
так же, как и на Лиспе, можно писать в директивном стиле, однако
изящества и простоты, столь необходимых в обучении, достичь при
этом возможным не представляется.
Директивен
другой язык, интерпретатор которого также
встроен в GIMP. Это Перл (Perl), его GIMP-овская реализация называется
Perl-fu. Хороший программист может писать на Перле чисто и аккуратно,
однако синтаксис языка сам по себе настолько гибок (чтобы не
сказать "жидок"), что, по нашему мнению, Перл совершенно
не годится на роль изучаемых в числе первых (хотя существуют
и другие мнения, весьма авторитетные).
Добавление
в GIMP еще одного интерпретатора (например,
алголо- или паскалеподобного языка) не представляется особо
сложной задачей, однако о таких проектах ничего не известно, и, наверное,
от программирования обработки изображений "внутри" GIMP
как от простой в методическом освоении темы большинству педагогов
стоит пока отказаться.
4.5
Интерактивная функциональность и эргономика
Тем
не менее, базовой интерактивной функциональности
GIMP (включая доступные модули) вполне достаточно, чтобы
покрыть обычно изучаемые в школе вопросы обработки графики.
окно
содержит меню основных функций, панель пиктографически |