Here's the article:

Snap!, the visual programming language built at UC Berkeley, reached version 11 in August 2025. The release keeps the project's 17-year momentum going, and the community gathered at Snap!Con 2025 in Heidelberg to see what's next.

For developers who haven't encountered it, Snap! is a blocks-based language that started as an extended reimplementation of Scratch. Jens Mönig, now at SAP, wrote the code. Brian Harvey at UC Berkeley shaped the design and wrote the documentation. The project first shipped under the name BYOB, short for "Build Your Own Blocks," before rebranding to Snap!. It runs entirely in the browser, written in JavaScript on top of Morphic.js, Mönig's own Morphic GUI framework.

What makes Snap! different from Scratch

Scratch, the MIT Media Lab project that inspired Snap!, targets younger learners with a clean drag-and-drop interface. Snap! keeps that interface but adds features most visual languages skip. Lists are first class, so you can build lists of lists and construct trees, hash tables, and other data structures entirely in user code. Procedures are first class too, which means you can write your own control structures. The about page shows a user-defined for block that creates nested loops, something Scratch cannot do without workarounds.

Snap! also exposes continuations as a first-class data type. Continuations represent the remaining work after a given point in a program, and making them explicit lets programmers implement catch/throw error handling and threads without relying on hidden stack frames. These are concepts usually taught in upper-division CS courses, not introductory ones.

Version 11 and the state of the project

Version 11 shipped in August 2025, following the version numbering pattern that started with version 4 in the early 2010s. The project has gone through eight major releases. Source code is on GitHub under the AGPL license, with over 9,400 commits from contributors around the world. The GitHub repository shows 1,610 stars and 820 forks, solid numbers for a teaching language.

Snap!Con 2025 ran September 1 through 3 at PH Heidelberg in Germany, co-located with the Snap4Europe outreach program. Jens Mönig presented "What's new in Snap! 11." Brian Harvey received the Karlstrom Award. The conference included sessions on neural networks, explainable AI, physical computing, and creative projects, with both in-person and online attendance.

The Beauty and Joy of Computing pipeline

Snap! is the programming language behind "The Beauty and Joy of Computing," an introductory CS curriculum developed at Berkeley and Education Development Center. BJC is a College Board-endorsed AP Computer Science Principles course. As of 2014, over 100 New York City high schools used BJC for AP CSP. The curriculum is offered as CS10 at Berkeley, the university's computing breadth course for non-CS majors.

This pipeline matters because it feeds directly into teacher preparation. Berkeley runs NSF-funded programs to train high school teachers in BJC, with a focus on underrepresented students. The visual nature of Snap! lets the course cover recursion, higher-order functions, and object-oriented programming while keeping the door open for students who have never written code.

What the community is building

The Snap! homepage showcases hundreds of community projects organized by topic. The math section includes interactive implementations of the Central Limit Theorem, Fourier transforms, and Kaprekar's constant. The simulations section has Conway's Game of Life, spring physics, and an n-body gravitational simulation. Art projects use Lissajous curves, kaleidoscope effects, and generative patterns. Students have built 3D floor renderers, neural network visualizations, voice recognition systems, and Wordle clones.

The Snap!Con 2025 featured projects include a flexible writing block extension, map coloring with Snap! v11, Python block integration for tic-tac-toe, and an explainable AI demo by Dan Garcia, one of the BJC course creators.

Why this matters for developers

Snap! occupies a specific niche: it is not a toy language, and it is not a professional tool. It is a bridge. The first-class procedures and continuations mean you can teach real CS concepts without asking students to fight with syntax. The browser-based execution and sandboxed JavaScript runtime mean no installation, no configuration, and safe execution of untrusted projects.

For developers who teach, mentor, or build educational tools, Snap! is worth knowing about. It has a 17-year track record, institutional backing from Berkeley and SAP, and a community that produces serious work. The source is open, the project is active, and the latest version is a free download at snap.berkeley.edu.