Язык программирования
Mama — это объектно-ориентированный образовательный язык программирования, призванный помочь молодым студентам начать программировать, предоставляя все языковые элементы на родном языке студента. Язык программирования Mama доступен на нескольких языках с поддержкой направления письма слева направо (LTR) и справа налево (RTL).
Новый вариант Mama был построен на основе среды разработки Alice от Carnegie Mellon , поддерживая скриптинг объектов 3D-сцены. Этот новый вариант Mama был разработан, чтобы помочь молодым студентам начать программирование, создавая 3D-анимации и игры.
История
Первые версии Mama — 1.0, 1.1 и 1.2 — предоставляли простую интегрированную среду разработки (IDE), которая содержала поддержку стандартных элементов, таких как текстовый редактор с подсветкой синтаксиса , компилятор, отладчик, окно вывода и т. д. Начиная с версии 1.5, Mama была интегрирована с открытым исходным кодом Alice IDE для поддержки программирования методом перетаскивания и 3D-анимации. Версии Mama реализованы на Java.
Текущая версия Mama, 1.5.4, доступна на английском и иврите и работает на Microsoft Windows.
Дизайн
Mama была разработана для решения следующих проблем в образовательном программировании:
- Промышленные языки программирования разработаны для использования в производственном коде, что вносит дополнительную сложность. Mama разработана исключительно для обучения концепциям программирования, обеспечивая простую и быструю разработку программ.
- Синтаксические ошибки расстраивают студентов, когда они начинают изучать программирование. Вариант Мамы вместо Алисы использует среду перетаскивания для создания компьютерной анимации с использованием 3D-моделей .
Язык Mama — это чистый объектно-ориентированный язык , в то время как Alice IDE — объектно-ориентированный . Это означает, что в то время как написание текстовых скриптов с помощью языка Mama поддерживает все объектно-ориентированные элементы ( наследование , полиморфизм , обобщенное программирование , обработка событий в стиле шаблона Observer ), создание объектов и методов с помощью интерфейса перетаскивания основано на объектах — наследования нет (и, следовательно, нет полиморфизма). Последнее замечание может сбить с толку новичков — поэтому предлагается использовать скрипты Mama только в качестве продвинутых тем в курсах по компьютерным наукам.
Основные улучшения Mama 1.5 по сравнению с Alice версии 2.2:
- добавлен язык программирования Mama как (богатый) язык сценариев - с помощью этого механизма сценариев можно управлять объектами 3D-сцены
- полная поддержка Юникода
- создание и редактирование 3D объектов
- поддержка загрузки фильмов на YouTube и публикации в Facebook
- поддержка декораций и персонажей
- инструмент для редактирования учебных пособий для инструкторов
- экспорт фильма со звуком
- автономные исполняемые файлы пользователя
- лучшая логика меню
- множество исправлений ошибок
Основы IDE
Окно IDE состоит из нескольких частей: вверху вы найдете главное меню и панель инструментов, которые позволяют выполнять такие команды, как создание/открытие миров, импорт 3D-объектов в мир, создание отдельного приложения, экспорт анимации на YouTube и т. д.
В главном окне содержится пять окон:
- Дерево объектов — содержит список объектов в текущем мире.
- 3D-окно — здесь объекты позиционируются, перемещаются, поворачиваются и т. д.
- область событий — позволяет редактировать то, что происходит при наступлении определенного события.
- область сведений - содержит информацию о текущем выбранном объекте в трех вкладках: свойства, методы и функции.
- Область редактора (внизу) — здесь пишется код программы с помощью перетаскивания инструкций.
В режиме редактирования сцены заменяются две из вышеуказанных частей:
- Панель управления — заменяет область событий и отображает различные элементы управления, помогающие манипулировать объектами в 3D-окне.
- Галерея объектов — заменяет область редактора и отображает объекты в иерархических папках для выбора и встраивания в 3D-окно.
Ниже приведены основные типы, доступные в Alice IDE:
- Число — числовой тип, представляет как целые, так и действительные числа.
- Boolean — логическое значение, принимающее значение true или false.
- Объект - общий объект Mama
- Строка - строка, набор символов
- Цвет - цвет RGB
- TextureMap — карта текстур
- Звук - звук
- Поза — запечатленная поза объекта.
- Позиция — трехмерный массив, определяющий позицию в трехмерном пространстве.
- Ориентация — трехмерный массив, определяющий ориентацию в трехмерном пространстве.
- PointOfView — комбинация позиции и ориентации.
Инструкции по управлению, доступные в нижней части области редактора:
- doInOrder - выполнить последовательность инструкций последовательно
- doTogether - выполнить последовательность инструкций одновременно
- если - выполнить последовательность инструкций последовательно только при заданном условии
- while - выполнять последовательность инструкций последовательно, пока выполняется заданное условие
- for - выполнить последовательность инструкций последовательно заданное количество раз
- forAllInOrder - выполняет последовательность инструкций, последовательно перебирая заданную коллекцию
- forAllTogether - выполняет последовательность инструкций, одновременно перебирая заданную коллекцию
- ждать - ждать заданное количество секунд
- print - вывести заданные данные на консоль вывода
- assert - утверждает, что условие истинно, отображает сообщение, если условие ложно (новое в Mama 1.5)
- Скрипт - добавьте бесплатный скрипт Mama в программу
- # - добавить комментарий к программе
Смотрите также
мама аида хоило ами=танвир
Ссылки
Дальнейшее чтение
Внешние ссылки