Snap! icon
Snap! icon

Snap!

 11 likes

Snap! is a broadly inviting programming language for kids and adults that's also a platform for serious study of computer science.

Snap! screenshot 1

License model

  • FreeOpen Source

Platforms

  • Online
4.6 / 5 Avg rating (5)
11likes
5comments
0news articles

Features

Suggest and vote on features

Properties

  1.  Educational

Features

  1.  Scratch-Block programming
  2.  Drag and Drop
  3.  Visual Programming
  4.  Object-oriented Language
  5.  No Coding Required
  6.  Ad-free

 Tags

Snap! News & Activities

Highlights All activities

Recent activities

  • App icon
    gamefiend added Snap! as alternative to Flowgorithm
    3 months ago
  • IamPyu reviewed Snap!  
    11 months ago

    Much more versatile and powerful alternative to Scratch

Show all activities

Snap! information

  • Developed by

    Unknown
  • Licensing

    Open Source and Free product.
  • Rating

    Average rating of 4.6
  • Alternatives

    17 alternatives listed
  • Supported Languages

    • English

AlternativeTo Categories

DevelopmentEducation & Reference

Our users have written 5 comments and reviews about Snap!, and it has gotten 11 likes

Snap! was added to AlternativeTo by ForsureYunome on May 25, 2013 and this page was last updated Mar 9, 2021. Snap! is sometimes referred to as BYOB, Build Your Own Blocks.

Comments and Reviews

   
 Post comment/review
Top Positive Comment
Guest
Jun 10, 2020
1

it's more powerful and has more capabilities compared to Scratch

IamPyu
Jul 4, 2024
0

Much more versatile and powerful alternative to Scratch

ianfinnesey
Jul 12, 2021
0

The listing says "online" but you can actually download the entire web app and run it offline, in any modern browser on any platform.

Snap's advantages over Scratch: You can make lists of lists, and there are blocks granting more versatile access to the contents of lists. The importance of this cannot be understated. I've built tools I use for actual work in this which would be impractical in scratch.
The sound library has more tools and capabilities.
The turtle is not an add-on, it's enabled by default and is more capable. It is clearly intended to be used for most of your graphics; the default sprite is a turtle arrow. Sprite positioning and sensing has more options.

Disadvantages compared to scratch: There are fewer libraries available to interface with hardware (such as GPIO, Sensehat, robot kits) Fewer tools for converting projects to other formats. Less community support in general.

If you aren't doing GPIO/Pi stuff, there's really no reason to go Scratch over Snap.

ianfinnesey
Jul 12, 2021

Forgot to mention: Snap is case-sensitive, Scratch is not, and it is not an easy thing to implement case sensing.

Abhishek kumar
Aug 12, 2020
0

nice initiative for novices into Programming.

ianmoore
Mar 1, 2018
0

Unlike Scratch, Snap! is actually acceptable for teaching computer science concepts. Scratch is by far the worst choice you could possibly make it you want to learn computer science, but want to start with a simple block based interface. Snap! is built off of Scratch 1.4 but is made entirely in JavaScript and is very fast and fluid, unlike the laggy Scratch editor. Snap! implements many powerful features such as first class procedures. first class lists, first class objects and first class continuations. Unlike Scratch, variables are dynamically typed, and lists can be multidimensional and are capable of storing strings, text, other lists, clones, and even other sprites. There is also support for recursion writing your own code in JavaScript. Snap! also includes on top of it's already powerful base library, numerous other libraries with invaluable tools.

So when it comes to learning programing, don't use Scratch, use Snap!

windozexpitsxd
Sep 10, 2018

Dude,stop! Don't disrespectful scratch. first of all.

  1. Scratch is more used.
  2. BYOB/Snap! is a RIPPOFF of the lastest 1.x version,Scratch 1.4. 3.Scratch is more used in schools.
  3. 2 problems with it;warp just does the thing you put in warp. report is not only for REPORTERS,but ANYTHING? that's straightup wrong. 5.There are 5 versions of scratch. Scratch 1.4 is a better idea. why? if your bored,click the suprise button! Snap! dones't have all the features of scratch 1.4.

SCARTCHTOEM

ianmoore
Sep 10, 2018

Your answer shows your lack of understand of both Scratch and its history, and programming in general.

Snap! 4.0 is a open source fork of Scratch which implements many new modern programming features over vanilla Scratch. You can even read all about it on the official Scratch wiki: https://en.scratch-wiki.info/wiki/Snap!_(programming_language)

If you look at Scratch 2.0 you will notice it is written in Flash (and the previous web player was in Java), a browser plugin that many popular browsers are trying to ditch for security reasons. It also means Scratch projects won't work on most mobile devices, without installing a third party browser that supports Flash.

Snap! is also ahead of its time. It is written in JavaScript and was the first to introduce the concept of building your own blocks (a basic version of this was added in Scratch 2.0], which only now Scratch 3.0 is attempting to do.

You seem to not understand the concept of Scheme and objects in programming, claiming that "report is not only for REPORTERS,but ANYTHING?". This is because functions, lists (which can even nest other lists, unlike Scratch), blocks, clones, sprites, pen trails, costumes and literally everything is a first class citizen and can be passed around.

Your insistence that Scratch is more used in schools, may be true in middle SVG hold, but Snap! is one of the suggested languages by College Board for AP Computer Science Principals (which based on your response, you've probably never heard of College Board yet) and is used by the BJC curriculum for teaching the course.

The usage of modern web technologies like this allows schools to teach the concepts of OOP programming in devices like Chromebooks and iPads, without needing to download additional software.

As for your complaints about warp. It's great, you can use it to warp a certain section of code if you need it to run faster, while not requiring the whole project to use turbo. On the same note, you can programmatically enable/disable turbo too.

ianfinnesey
Jul 12, 2021

Scratch can technically do anything Snap can do...if you go and write your own libraries for it, or you kludge the hell out of it.

Snap is the language for the Beauty and Joy of Computing curriculum, an approved AP CS Principles curriculum. Many of the required concepts in AP CSP/BJC would be difficult to demonstrate in Scratch but trivial in Snap.

The real dealbreakers for Scratch are the lack of case sensitivity and the limitations of lists.

What is Snap!?

Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.

Official Links