Live data from Hacker News

Λ Snap – An inviting programming language for kids and adults for CS study

snap.berkeley.edu

1–10 of 55 posts

Re: Λ Snap – An inviting programming language for kids and adults for CS study

#2
For those wondering the difference with scratch, it's on the about page:

> About 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[1] lists, first class procedures, and first class continuations[2]. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.

Re: Λ Snap – An inviting programming language for kids and adults for CS study

#3
post #2

For those wondering the difference with scratch, it's on the about page: > About 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[1] lists, first class procedures, and first class continuations[2]. These a…

Scratch already allows you to create custom Blocks and features lists. This seems like a perfect example of reinventing the wheel (and fragmenting development communities).

Re: Λ Snap – An inviting programming language for kids and adults for CS study

#4
post #3
post #2

For those wondering the difference with scratch, it's on the about page: > About 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[1] lists, first class procedures, and first class continuations[2]. These a…

Scratch already allows you to create custom Blocks and features lists. This seems like a perfect example of reinventing the wheel (and fragmenting development communities).

Snap implemented these features and others long before Scratch had. To my memory it might have been a decade earlier.

Re: Λ Snap – An inviting programming language for kids and adults for CS study

#5
Snap is designed to be more expressive and powerful than Scratch. But I find debugging them is very painful. Changing the name of a variable or block for example, could create “holes” in the calling sites but the system can or cannot report an error and fails silently. Snap is IMO more flaky and the team seems more eager to add features than polish the existing ones or make the system mor robust and stable.

Re: Λ Snap – An inviting programming language for kids and adults for CS study

#9
I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive.

A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this.

Re: Λ Snap – An inviting programming language for kids and adults for CS study

#10
post #9

I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive. A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this.

from someone who can remember how they even got into programming:

it's because this is BS and just a toy, it's got no connection to the real world.

from the angle of someone trying to make some toy to teach programming, maybe in their head it's like: oh this is so simple and easy it should work perfectly for teaching

but from my experience, most of my learning came from "whats this?" "how do i make a thing like this?"

this doesn't provide a way to accomplish that or to promote curiosity

I think same applies to basic CS courses teaching bits and bytes, it's not really useful to know what bits and bytes are if you don't understand what they're even used for or why you should know what they are

however, this is just my subjective point of view, maybe it differs for others.

Post reply on HN