Статья взята с сайта
http://scratch4russia.com/snap_vs_scratch/
Snap! — блочная среда программирования, разработанная на основе
Scratch в Калифорнийском университете в Беркли (University of California at Berkeley).
Основным отличием данной среды программирования от
Scratch являются
расширенные возможности по построению собственных блоков, а также
списки и функции первого класса. Эти мощные возможности позволяют
использовать
Snap! Не только в начальной школе, но и для обучения старшеклассников и студентов.
В следующем примере вы видите, как можно создать цикл for.

Использовать этот блок можно наравне с любым встроенным блоком.

Snap! запускается и работает
непосредственно в браузере и не требует установки на компьютер
пользователя. Он написан на JavaScript и может оказывать ограниченное
влияние на компьютер, так что вы можете безопасно запускать проекты
других пользователей.
Snap! был разработан Дженс Мониг (
Jens Mönig at MioSoft Corporation, now at SAP)

, совместно с Брайаном Харви (
Brian Harvey at Berkeley)

, при помощи студентов Калифорнийского университета в Беркли.

Основным отличием
Snap! от
Scratch являются
типы данных первого класса.
Объектами первого класса называются элементы, которые могут быть
присвоены переменной или элементу массива, переданы как параметр и
возвращены из функции. Благодаря этому в
Snap! появилась возможность создавать двумерные массивы.

Также в
Snap! в отличие от #
Scratch функции
являются объектами первого класса. Это позволяет передавать функцию как
аргумент в другую функцию. В следующем примере мы передаем функции map
как аргумент функцию «умножить на 10», и функция map производит это
действие со всем списком, переданным ей в качестве второго аргумента.

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

А вот такое возможно в
#Scratch?

Эти особенности
Snap! позволяют познакомить учащихся с функциональным программированием в отличие от
Scratch, который используется для знакомства с обыкновенным (императивным) программированием.
Совместимость.
Snap! может работать в следующих браузерах:
– Chrome, версия не ниже 43 (это рекомендуемый браузер для работы в среде Snap!)
– Safari версия не ниже 8.4;
– Firefox версия не ниже 38 ;
– Edge версия не ниже 12;
– Opera версия не ниже 32;
Проекты, созданные в Scratch, могут быть импортированы в Snap! с помощью следующего онлайн сервиса
http://djdolphin.github.io/Snapin8r2/.
Проекты, созданные на
Snap!
могут быть сохранены в формате XML, а затем преобразованы в исполняемый
EXE файл с помощью онлайн сервиса расположенного по адресу
http://snapp.citilab.eu/.
Snap! может быть использован со следующими внешними устройствами, подключаемыми к компьютеру: