Щелк! это бесплатный, основанный на браузере образовательный язык программирования, вдохновленный Scratch. В этом месяце он достиг версии 4.0.
Как Царапина, Щелчок! это визуальный язык программирования, основанный на блоках. Он был написан Йенсом Менигом и Брайаном Харви из Калифорнийского университета в Беркли, и его первоначальное название «Постройте свои собственные блоки» (BYOB) указывает на один из основных способов, которым он выходит за рамки нуля, что ограничивает пользователей поставляемыми блоками. Он также имеет функции из схемы — списки первого класса, процедуры первого класса и продолжения, возможности, что делает его подходящим для серьезного введения в информатику для студентов средней школы или колледжа.
Этот язык был впервые выпущен в 2011 году, когда он использовался для вводного курса по CS для студентов, не изучающих CS, в Беркли под названием «Красота и радость вычислений» (BJC). Пересмотр учебного плана BJC в 2013 году был принят в качестве курса принципов AP CS, и Беркли предлагает шестинедельный летний курс повышения квалификации для учителей, намеревающихся преподавать его.
Для разработчиков, которые хотят получить доступ к исходному коду, Snap! это свободное программное обеспечение, которое может быть распространено и/или изменено в соответствии с условиями Общей публичной лицензии GNU Affero.
В своих примечаниях к выпуску версии 4.0 на GitHub Йенс Мениг говорит разработчикам, что то, как он берет грамматику блока с нуля и объединяет ее с динамически типизированными и лексически ограниченными переменными схемы, списками первого класса, лямбда (замыканиями), продолжениями первого класса и правильной хвостовой рекурсией, позволяет им создавать свои собственные структуры управления (циклы, перехват/бросок, функции более высокого порядка, такие как map/filter/reduce), не беспокоясь о переполнении стека. Обратите внимание, что Snap поддерживает вложенные спрайты и позволяет программистам превращать произвольный код JavaScript в графические блоки. он объясняет:
Его механизм “кодификации” может транскомпилировать графические сценарии в произвольный текстовый код, предлагая двусторонний переход между блоками и текстом.
Новые функции в новой версии дополняют основные языковые функции и поддержку Snap:
определяемые пользователем процедуры («Создайте свои собственные блоки»)
лямбда, включая полные замыкания («Кольца»)
первоклассные продолжения (call/cc)
оптимизация хвостового вызова
Так что пока Хватай! это подходящий язык для вводной информатики, он также может представлять интерес в некоторых производственных или прототипных средах.