Snap! (programming language)

From Wikipedia, the free encyclopedia
  (Redirected from BYOB (programming language))
Jump to: navigation, search
Snap! (BYOB[Note 1])
Paradigm(s) object-oriented, educational, event-driven
Designed by Brian Harvey and Jens Mönig
Developer Jens Mönig
Appeared in 2011
Stable release 3.1.1 / May 19, 2011
Typing discipline dynamic
Influenced by Scratch
License AGPL
Filename extension(s) .xml

Snap! (formerly Build Your Own Blocks (BYOB)) is an educational programming language blocks-based graphical programming language that allows students to create interactive stories, animations, games, and more, while learning about mathematical and computational ideas. Snap! was inspired by Scratch, but also targets both novice and more advanced students by including and expanding Scratch's features. Notably, Snap! features the ability to create your own blocks, essentially custom functions and procedure, making Snap! useful as a beginning or intermediate programming language.

Snap! 4.0 is entirely browser-based with no software that needs to be installed on the local device.

Online and offline versions[edit]

Online versions run on Apple iOS, Mac OS X, Windows, and Linux devices, because it is written in Javascript, unlike Scratch 2.0 which is written in Flash and only works on the latter three.

The offline (pre-4.0) versions are available also for Windows, Mac OS X or Linux. The open-source pre-4.0 code is made available under a license that allows modifications for non-commercial uses and can be downloaded from the UC Berkeley website[1] or CNET and CNET TechTracker's download page.[2][3]

The Snap! 4.0 source code is AGPL licensed and is available for download within Snap! itself and on Github.[4]


The most important features which differentiate Snap! from Scratch, include:


Both Snap! and BYOB versions were developed by Jens Mönig[5][6] with design ideas and documentation provided by Brian Harvey[7][8] from University of California, Berkeley and has been used to teach "The Beauty and Joy of Computing" introductory course in CS for non-CS-major students.[9]


Release Lead Developers Date Notes
Chirp Jens Mönig
BYOB 1.0 Jens Mönig
BYOB 2.0 Jens Mönig
BYOB 3.1.1 Jens Mönig, Brian Harvey May 19, 2011
Snap! 4.0 Jens Mönig, Brian Harvey future Implemented in Javascript using HTML5 Canvas APIs

See also[edit]


  1. ^ for versions before 4.0


External links[edit]

  • CNET and CNET TechTracker's BYOB for Mac download page
  • CNET and CNET TechTracker's BYOB for Windows download page