Что такое Scato?
Scato — это и язык программирования и среда выполнения этого языка.
Язык задумывался как предельно простой, но при этом максимально адаптированный для нужд рисования фракталов L-систем и прочих самоподобных ломаных.
Scato — «черепаший язык». Программа выполняется черепашкой, которая ползает и рисует. Но он позволяет легко делать всё, что необходимо для рисования фракталов.
- Преобразования координат: повороты, масштабирования.
- Именованные процедуры, допускающие рекурсивные вызовы.
- Средства локализации разных аспектов контекста.
- Условные операторы.
- Именованные переменные и элементарные математические операции.
Кроме того, есть, конечно, возможность управления толщиной линии, установки цвета и подмешивания цвета.
Примеры кода и работы можно посмотреть на сайте проекта.
Там же вы можете узнать о грамматике языка больше. Кроме того, Scato снабжён встроенными примерами.
Среда выполнения позволяет не только загружать и выполнять программы, но и легко разбираться в причинах возможных неполадок. Вы можете
- Останавливать программу в любом месте
- Выполнять программу пошагово
- Просматривать текущие значения переменных и параметры черепашки
Откуда оно взялось и зачем оно нужно?
Немного подробней о проекте написано на сайте проекта.
А коротко… язык сформировался лет пять назад. Первая реализация на Python (до этого был Tcl/Tk) появилась пару лет назад (лежит у меня на домашней страничке).
За эти пару лет программа обросла некоторой пользовательской базой, и стала использоваться в школах. Здесь сыграло свою роль то обстоятельство, что Scato (а в те времена оно назвалось Fact) похож на Pascal, а именно этот язык изучается в школах и используется в ЕГЭ.
Я начал получать разумные отзывы и предложения. В конце концов у меня собралось достаточно мнений, я окончательно утряс детали с наиболее активными пользователями и сделал, фактически, новый язык.
Его я выложил в новом месте, под новой лицензией, с новым именем… в общем проект зажил новой жизнью.
Ну а зачем написан весь этот пост?
Я конечно пишу это не просто так — у меня есть корысть! Я хотел бы привлечь пользователей (и тестеров ,-)).
Чем вы могли бы помочь проекту:
- Вы поможете проекту, если просто будете использовать и пропагандировать Scato.
- Вы поможете, если не только придумаете красивые фракталы, но и пришлёте их мне, для включения в дистрибутив. Все имена будут упомянуты в благодарностях.
- Вы очень поможете проекту, если обнаружите ошибки и сообщите о них.
- Ну и конечно патчи приветствуются! Для тех, кто пожелает включиться в разработку, я написал пару слов о внутреннем устройстве Scato
- И о-да! У меня очень плохой английский. Принимаются любые конструктивные предложения.
Одним словом, этим постом, я хочу приподнять популярность Scato, чтобы форсировать его развитие. Потому, что сейчас его тестирует очень немного людей… я, ученики школы номер 30 в Йошкар-Оле и ещё кто-то… из германии что-ли :-)
Всем спасибо!