4 ms·
What differentiates this from MIT Scratch?
by KhoomeiK 7y ago
What differentiates this from MIT Scratch?
- applecrazy 7y agoIt has some really cool and advanced FP and lambda calculus features.
- cellular 7y agoHaha!
- figbert 7y agoExactly my question! Seems to me like they are pretty similar products – to the point of "clone" status, as the two editors have the same blocks in the same colors and seem to be functionally identical. The only difference I can see is that the advanced features of Snap! appear to be only slightly more accessible than those of Scratch (plus the change of "sprite" to "costume," and Gobo's growth of a horn and extra foot).
- Gaelan 7y agoSnap was originally a scratch fork back when both of them were written in smalltalk, but they’ve both since gone through independent rewrites.
- TheAsprngHacker 7y agoThe Snap! mascot is named Alonzo after Alonzo Church, and the "horn" is a lambda to symbolize Snap!'s functional programming features. I just checked, and both Alonzo and Gobo have three feet. "Sprite" and "costume" are distinct concepts in both Scratch and Snap!. A costume is a texture, and a sprite is an actor associated with state such as a current costume, as well as program logic.
- cycomachead 7y agoThe advanced features are there - like making API requests, Lambdas and real custom blocks/functions. Beyond, that you can write in JS to extend Snap! within itself.
- TheAsprngHacker 7y agoSnap! is explicitly based on Scratch and started out as a fork, BYOB. Snap! was rewritten from the ground up. Snap!'s motto is "First class everything," and taking inspiration from Scheme, it supports first-class lists, first-class functions, and other types of data. Snap! had user-defined functions before Scratch added them, and unlike in Scratch, user-defined functions can return values in Snap!. Snap! also supports script-local variables.
- jawns 7y agoThere is an "About" page https://snap.berkeley.edu/about https://snap.berkeley.edu/about that explains this in detail, but you have to go looking for it. Since it's immediately obvious from the banner that there's some relationship between Snap and Scratch, the homepage should give a short summary. At a minimum, I would present the first paragraph from the "About" page in a prominent place on the homepage: > 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 first class continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.