Статья взята с сайта 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, который используется для знакомства с обыкновенным (императивным) программированием.
– 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! может быть использован со следующими внешними устройствами, подключаемыми к компьютеру:
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! может быть использован со следующими внешними устройствами, подключаемыми к компьютеру:
- Orbotix Sphero;
- Lego NXT;
- Nintendo Wiimote;
- Finch and Hummingbird robots;
- Parallax S2 robot;
- LEAP Motion;
- Arduino;
- Fischertechnik ROBOTICS TXT Controller;
- Raspberry Pi.