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 |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

