суббота, 21 июля 2018 г.

Знакомство со Snap!

Статья взята с сайта http://scratch4russia.com/snap_vs_scratch/

Snap! — блочная среда программирования, разработанная на основе Scratch в Калифорнийском университете в Беркли (University of California at Berkeley).
Основным отличием данной среды программирования от Scratch являются расширенные возможности по построению собственных блоков, а также списки и функции первого класса. Эти мощные возможности позволяют использовать Snap! Не только в начальной школе, но и для обучения старшеклассников и студентов.
В следующем примере вы видите, как можно создать цикл for.
image002
Использовать этот блок можно наравне с любым встроенным блоком.
image003image006
Snap! запускается и работает непосредственно в браузере и не требует установки на компьютер пользователя. Он написан на JavaScript и может оказывать ограниченное влияние на компьютер, так что вы можете безопасно запускать проекты других пользователей.
Snap! был разработан Дженс Мониг (Jens Mönig at MioSoft Corporation, now at SAP)
image007
, совместно с Брайаном Харви (Brian Harvey at Berkeley)
image009
, при помощи студентов Калифорнийского университета в Беркли.
berkeley_horizontal_logo
Основным отличием Snap! от Scratch являются типы данных первого класса.
Объектами первого класса называются элементы, которые могут быть присвоены переменной или элементу массива, переданы как параметр и возвращены из функции. Благодаря этому в Snap! появилась возможность создавать двумерные массивы.
image011
image013
Также в Snap! в отличие от #Scratch функции являются объектами первого класса. Это позволяет передавать функцию как аргумент в другую функцию. В следующем примере мы передаем функции map как аргумент функцию «умножить на 10», и функция map производит это действие со всем списком, переданным ей в качестве второго аргумента.
image015
Еще одним удивительным отличием является то, что спрайты, тоже являются объектами первого класса, и могут быть переданы в качестве аргументов.
image017
А вот такое возможно в #Scratch?
image019
Эти особенности 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! может быть использован со следующими внешними устройствами, подключаемыми к компьютеру: