Введение

Магик — объектно-ориентированный язык программирования, поддерживающий множественное наследование и полиморфизм, и являющийся языком с динамической типизацией. Он был разработан и реализован в 1989 году Артуром Ченсом из Smallworld Systems Ltd. как часть географической информационной системы Smallworld (GIS). После приобретения Smallworld в 2000 году, Magik теперь предоставляется GE Energy, по-прежнему в составе своей технологической платформы Smallworld. Magik (Inspirational Magik) был впервые представлен в 1990 году и с тех пор постоянно совершенствовался и обновлялся. Его текущая версия — 5.2. В июле 2012 года разработчики Magik объявили о переносе языка Magik на виртуальную машину Java. Успешный перенос был подтвержден корпорацией Oracle в ноябре того же года.

Сходство с "незначительным"

Magik имеет ряд сходств с Smalltalk в отношении языковых возможностей и архитектуры: язык Magik компилируется в байт-код, который интерпретируется виртуальной машиной Magik. Виртуальная машина Magik доступна для нескольких платформ, включая Microsoft Windows, различные варианты Unix и Linux. Magik работает в консоли, и код можно изменять "на лету", даже когда приложение запущено. Консоль также можно использовать для выполнения кода Magik и просмотра результатов. Скомпилированный код хранится в одном файле, называемом файлом образа. Каждый файл образа содержит скомпилированный байт-код и состояние сессии (например, значения переменных) на момент последнего сохранения образа.

Языковые причуды

Поскольку Magik был первоначально разработан в Англии, методы в основных библиотеках smallworld пишутся с использованием британского английского языка. Например:

Используйте "initialise", а не "initialize".