Snap! (formerly BYOB) is a visual, block, drag-and-drop programming language. Unlike most programming languages, though, Snap! is a visual language; instead of writing a program using the keyboard, the Snap! programmer uses the same drag-and-drop interface familiar to computer users.
It is inspired by Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It extends Scratch with first class procedures, first class lists, and other capabilities designed to support the teaching and learning of computer science. It targets both novice and more advanced students by including and expanding Scratch’s features. Snap! also features first class lists, first class procedures, and continuations.
A Snap! program consists of one or more scripts, each of which is made of blocks. It runs in your browser, and is implemented using JavaScript.
Features (extending Scratch):
- First class functions or procedures (their mathematical foundations are called also “Lambda calculus”).
- First class lists (including lists of lists).
- First class sprites.
- Nestable sprites.
- Codification of Snap! programs to mainstream languages such as Python, JavaScript, C, etc.
Website: snap.berkeley.edu
Support: FAQ
Developer: University of California at Berkeley
License: AGPL

Snap! is written in JavaScript. Learn JavaScript with our recommended free books and free tutorials.
Related Software
| Programming Tools for Kids | |
|---|---|
| Snap! | Visual, block, drag-and-drop programming language |
| TurboWarp | Mod of Scratch |
| Scratch | Easy to use programming environment for ages 8 and up |
| Blockly | Web-based, visual programming editor that's developed by Google |
| Processing | Flexible software sketchbook and language |
| Greenfoot | Simple but powerful Java IDE |
| KTurtle | Educational programming environment for learning how to program |
| Alice | Innovative 3D programming environment |
| BASIC-256 | Easy to use version of BASIC |
| Robocode | Engaging and educational programming game |
| Hedy | Gradual textual programming language |
| CodeWorld | Web-based educational programming environment |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.