Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Программирование и алгоритмические языки в Linux

Трехмерная анимация Alice как способ понять ООП

Оригинал: Learn OOP while creating 3-D animations with Alice
Автор: Mayank Sharma
Дата: 25 декабря 2007
Перевод: Александр Тарасов aka oioki
Дата перевода: 4 января 2008

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

Студентам на компьютерных факультетах часто сложно дается изучение таких языков программирования, как C++ и Java, в основном из-за большой разницы между простыми учебными языками типа Logo и продвинутыми объектно-ориентированными языками. Пытаясь заполнить эту брешь, разработчики из Carnegie Mellon University (CMU) разработали объектно-ориентированный язык, позволяющий создавать трехмерную анимацию. Этот язык называется Alice.

Команда разработчиков из CMU, которую возглавляет Randy Pausch, изучила несколько студенческих программ на языках C++ и Java, и выделила следующие существенные концепции объектного программирования: условия, циклы, рекурсия, функции/методы, массивы и списки, объекты (как состояние, так и поведение), наследование, инкапсуляция, полиморфизм и т.д. Alice предоставляет окружение, которое поможет студентам вникнуть в эти концепции в процессе модификации трехмерных объектов и создания анимированных сцен.

Установка и быстрый старт

Приятно, что для использования Alice не требуется быть студентом упомянутого университета. Alice распространяется абсолютно свободно, его исходный код открыт. Система может скомпилироваться в Linux, Windows и Mac. Последней версией является Alice 2.0, разработанная на Java и поэтому требующая для запуска окружение Java Runtime Environment (JRE). Пользователи Linux могут загрузить JRE и следовать инструкциям по установке. Я попробовал Alice 2.0 на Fedora 8, в котором уже был установлен IcedTea - полностью открытый Java пакет на базе OpenJDK.

После установки окружения Java загрузите tar-архив Alice, размером больше 100 Мб и извлеките его содержимое:

  tar zxvf Alice-2.0.0.tar.gz
Для запуска Alice перейдите в каталог Alice/Required/ и запустите файл run-alice либо двойным щелчком мыши, либо из консоли:
  ./run-alice
В комплекте идет четыре урока, с которых можно начать изучение Alice. Обычное окружение Alice состоит из виртуального мира и набора объектов. Можно добавлять и анимировать объекты с помощью мыши путем их перетаскивания. Для демонстрации того, чего можно достичь в Alice, в комплекте идет семь миров различной сложности.

Каждый объект в Alice инкапсулирует свои данные (атрибуты типа private - такие как высота, ширина и положение в мире) и содержит свои методы. В Alice добавление объектов просто, и так же просто можно добавлять свои методы, которые принимают свои параметры и вызываются при определенных условиях.

Программы Alice состоят из функций, переменных, параметров и рекурсий. Все это можно "запрограммировать", используя одну лишь мышь. Нужно лишь перетаскивать в окружение программные элементы, такие как условные ветвления, циклы do...while и for, а также операторы ожидания wait, вывода текста print и комментарии. Можно даже задавать сложные конструкции параллельного программирования, перетаскивая в окружение элемент "Do Together".

Сводя программирование до такого простого уровня, Alice помогает студентам понять структуру и логику программирования, избавляя их от путаницы в синтаксисе. Вместо возни с пунктуацией, студенты могут больше внимания уделить объектам и другим возможностям ООП.

Alice делает объектно-ориентированное программирование веселым, во многом благодаря сокрытию синтаксиса. В настройках Alice (Edit -> Preferences) можно указать, чтобы код программы показывался не на языке Alice (имеющем простой для понимания синтаксис), а на Java.

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

Ограничения и Alice 3.0

Конечно, Alice не без изъянов. Например, как обратная сторона медали, студенты не получают навыков работы с синтаксисом. Еще одним недостатком является то, что Alice напрямую не поддерживает полиморфизм.

Чтобы от Alice могли получить пользу также и младшие школьники, Caitlin Kelleher создала Storytelling Alice как часть своей докторской работы в CMU. Эта версия Alice (к сожалению, работающая лишь в Windows), уделяет особое внимание социальным взаимодействиям между объектами, подавая их как краткие истории. При помощи этих рассказов программа и помогает ученикам постичь основы ООП.

Согласно C.Kelleher, некоторые концепции Storytelling Alice будут использованы в следующей версии основной ветки Alice. Игровая компания Electronic Arts будет поддерживать разработку Alice 3.0 и в связи с этим предоставляет модели персонажей из популярной игры The Sims - они заменят текущие объекты Alice 2.0, нарисованные в 3-D Studio Max. В дополнение к этому Alice 3.0 будет поддерживать дополнение Alice-анимации вставками на языке Java, также в интегрированном окружении разработчика (IDE).

Alice - инновационное приложение, призванное помочь студентам в изучении ООП. Если вы новичок в программирование, попробуйте эту программу; изучение синтаксиса не должно занять много времени, но зато вы сможете понять суть основных концепций ООП: объектов, инкапсуляции, полиморфизма и наследования.