Pull to refresh

Язык Scato для обучения и просто для удовольствия

Reading time2 min
Views1.3K

Что такое Scato?



Scato — это и язык программирования и среда выполнения этого языка.

Scato



Язык задумывался как предельно простой, но при этом максимально адаптированный для нужд рисования фракталов L-систем и прочих самоподобных ломаных.

Scato — «черепаший язык». Программа выполняется черепашкой, которая ползает и рисует. Но он позволяет легко делать всё, что необходимо для рисования фракталов.

  • Преобразования координат: повороты, масштабирования.
  • Именованные процедуры, допускающие рекурсивные вызовы.
  • Средства локализации разных аспектов контекста.
  • Условные операторы.
  • Именованные переменные и элементарные математические операции.


Кроме того, есть, конечно, возможность управления толщиной линии, установки цвета и подмешивания цвета.

один из примеров работы Scato

Примеры кода и работы можно посмотреть на сайте проекта.

Там же вы можете узнать о грамматике языка больше. Кроме того, Scato снабжён встроенными примерами.

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

  • Останавливать программу в любом месте
  • Выполнять программу пошагово
  • Просматривать текущие значения переменных и параметры черепашки


Откуда оно взялось и зачем оно нужно?



Немного подробней о проекте написано на сайте проекта.

А коротко… язык сформировался лет пять назад. Первая реализация на Python (до этого был Tcl/Tk) появилась пару лет назад (лежит у меня на домашней страничке).

За эти пару лет программа обросла некоторой пользовательской базой, и стала использоваться в школах. Здесь сыграло свою роль то обстоятельство, что Scato (а в те времена оно назвалось Fact) похож на Pascal, а именно этот язык изучается в школах и используется в ЕГЭ.

Я начал получать разумные отзывы и предложения. В конце концов у меня собралось достаточно мнений, я окончательно утряс детали с наиболее активными пользователями и сделал, фактически, новый язык.

Его я выложил в новом месте, под новой лицензией, с новым именем… в общем проект зажил новой жизнью.

Ну а зачем написан весь этот пост?



Я конечно пишу это не просто так — у меня есть корысть! Я хотел бы привлечь пользователей (и тестеров ,-)).

Чем вы могли бы помочь проекту:

  • Вы поможете проекту, если просто будете использовать и пропагандировать Scato.
  • Вы поможете, если не только придумаете красивые фракталы, но и пришлёте их мне, для включения в дистрибутив. Все имена будут упомянуты в благодарностях.
  • Вы очень поможете проекту, если обнаружите ошибки и сообщите о них.
  • Ну и конечно патчи приветствуются! Для тех, кто пожелает включиться в разработку, я написал пару слов о внутреннем устройстве Scato
  • И о-да! У меня очень плохой английский. Принимаются любые конструктивные предложения.


Одним словом, этим постом, я хочу приподнять популярность Scato, чтобы форсировать его развитие. Потому, что сейчас его тестирует очень немного людей… я, ученики школы номер 30 в Йошкар-Оле и ещё кто-то… из германии что-ли :-)

Всем спасибо!
Tags:
Hubs:
+21
Comments4

Articles