Компьютерра, 2007 № 16 (684) (Журнал «Компьютерра») - страница 38

Модель для разборки

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


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

"Прозрачность" системы – еще один ключевой пункт философии всего проекта. Конечно, открытые исходные коды – необходимое условие, однако одного лишь open source здесь мало. Требуется создать инфраструктуру, максимально упрощающую изучение и модификацию кода.

Такую инфраструктуру обеспечивает специальная Developer-activity, представляющая собой полноценную среду разработки новых видов деятельности. Большинство компонентов XO написаны на языке Python, по мнению многих экспертов являющемся одним из лучших кандидатов на роль первого «серьезного» языка программирования. Юный хакер может модифицировать любую готовую «активность» или даже организовать совместную разработку по всем правилам open source (с патчами, контролем версий и т. д.), а также использовать приемы экстремального программирования благодаря функциям совместного редактирования кода в реальном времени (эта возможность присутствует и в обычном текстовом редакторе, основанном на AbiWord).


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

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