Live data from Hacker News

Scratch is a big deal

bryanbraun.com

61–70 of 306 posts

Re: Scratch is a big deal

#61

Is there a reason that visual programming languages haven’t taken off for professional programming? I know of several for specific fields (Dark for backends, TouchDesigner for live graphics/multimedia), but none that are more generalised, open, or in wide use. It feels like an underdeveloped area that’s ripe for exploration and experimentation.

I teach Scratch to kids professionally. I love it as a learning tool, but when I need to actually write Scratch code myself for whatever reason, I find the experience pretty aggravating. Finding the block I need from the big list and dragging it into place takes a lot more time than just typing the command.

Scratch programs also become messy quickly as the complexity increases. Normal code is more compact and easier to actually follow.

Re: Scratch is a big deal

#62

I like Scratch - my kid uses it and I worked briefly with the guy who made Blockly, the underlying visual programming toolkit - but the programming environment makes many things far too complicated with its singular focus on sprites. It's very, very difficult to do things as simple as display a number on screen. My 7yo was making a number guessing game, and to display a two-digit number we had to make two sprites tha…

> My 7yo was making a number guessing game, and to display a two-digit number we had to make two sprites that had 10 "costumes" (0-9) then do modular math to select the costume for each digit

So if your kid is cool with this kind of clever workaround for the limitations of some piece of crap, you have a future software engineer.

Re: Scratch is a big deal

#63
post #45

Earlier quoted context omitted.

Much of my coding was started with modifying the Minecraft & Wii internals and I would call that "modern software."

You're an outlier for sure. Wii internals sounds very hard.

Minecraft is also slightly an outlier, I would say; its modding community has put a lot of work into making it easier for people to get started. It’s still a far cry from having a “view/edit source” button, though.

Re: Scratch is a big deal

#64

Is there a reason that visual programming languages haven’t taken off for professional programming? I know of several for specific fields (Dark for backends, TouchDesigner for live graphics/multimedia), but none that are more generalised, open, or in wide use. It feels like an underdeveloped area that’s ripe for exploration and experimentation.

> Is there a reason that visual programming languages haven’t taken off for professional programming?

Programming languages in common use are way too general to really benefit from a structural editing workflow as seen in Scratch. Meanwhile, other VPL's cannot naturally express the kinds of abstractions that turn out to be critical when programming "in the large", as often happens in professional settings.

Re: Scratch is a big deal

#65

I like Scratch - my kid uses it and I worked briefly with the guy who made Blockly, the underlying visual programming toolkit - but the programming environment makes many things far too complicated with its singular focus on sprites. It's very, very difficult to do things as simple as display a number on screen. My 7yo was making a number guessing game, and to display a two-digit number we had to make two sprites tha…

If you’re willing to pay then give gamemaker studio a go. It has a similar logic block based model (you can also progress into a full ECMAscript based language once you get more advanced), but is a lot more flexible about what you can display.

Not 100% sure it’s still beginner friendly as I used it over a decade ago, but I’m pretty sure there’s a free trial, so you could find out.

Re: Scratch is a big deal

#66

Scratch is great, but the problem is: where do kids go after scratch? Often they are transitioned directly to professional-grade languages and developer tools, which has the effect of turning what was once fun to something scary and frustrating. Many kids stop their PL development right then and there, writing it off as something “not for me”. I find this sad, as it means a lot of people who might otherwise benefit f…

I've been asking myself the same thing recently, and recently ran across LeopardJS -- it's meant to bridge the gap between Scratch and JavaScript, and I think it does a really excellent job of it: https://leopardjs.com/

You can paste a link to a Scratch URL into the page and it automatically translates it to equivalent JavaScript that can then be edited in the browser or downloaded and edited locally. It's got an impressive and intuitive library behind it and I think it's fantastic.

Re: Scratch is a big deal

#67

I like Scratch - my kid uses it and I worked briefly with the guy who made Blockly, the underlying visual programming toolkit - but the programming environment makes many things far too complicated with its singular focus on sprites. It's very, very difficult to do things as simple as display a number on screen. My 7yo was making a number guessing game, and to display a two-digit number we had to make two sprites tha…

>7yo was making a number guessing game, and to display a two-digit number we had to make two sprites that had 10 "costumes" (0-9) then do modular math to select the costume for each digit

This, imo, is what makes Scratch a great education platform. It has a couple of very easy to use primitives (such as displaying and moving sprites) and leaves you to build whatever else you need by abstracting things on top of it. This teaches you one of the most foundational programming skills: how to do something complicated with only weird, rudimentary tools.

Re: Scratch is a big deal

#68
post #10

Earlier quoted context omitted.

Resnick and co were very structured and evidence lead with the graphical design; nothing in the visual language is accidental. The structure of the language is also very carefully designed in conjunction with the graphical mechanisms.

There's a common fallacy that the technically minded are prone to, of assuming that since two different things are 'essentially' the same, the differences between them are superficial and unimportant. So, for. example, since Scratch. and a text-based language with similar structures (Python, say), are 'essentially' the same, the graphical elements. of Scratch are just sugar, or fluff, and should be ignored. It's the…

Totally agree - the details are critical. There are a thousand details that can derail a child from understanding programming, if you deal with 999 there's still one that will get them.

Kudos to the scratch team.

Re: Scratch is a big deal

#69
post #55

As a former computing teacher, I loved Scratch. I remember reading about it on a Thursday evening on Slashdot, maybe spring of '08, or 09. I had a free lesson first thing the next day, so I installed it on the network then had a class of 10 year olds give it a whirl. Had a full scheme of work written by the Monday, and was demoing it to other schools by the summer. Loved it, loved the scratch board addon hardware, lo…

If I may ask:

Why former?

Re: Scratch is a big deal

#70

Scratch is great, but the problem is: where do kids go after scratch? Often they are transitioned directly to professional-grade languages and developer tools, which has the effect of turning what was once fun to something scary and frustrating. Many kids stop their PL development right then and there, writing it off as something “not for me”. I find this sad, as it means a lot of people who might otherwise benefit f…

Perhaps SNAP! https://snap.berkeley.edu/

I was planning on providing a pointer to Snap!, so I'm glad timbit did it. Snap! behaves similarly to Scratch, but its underlying language is more powerful (it's essentially a visual Scheme). Were I still teaching university CS, I would be advocating for the use of Snap! in the introductory course.

And yes, I find the exclamation point annoying.

Post reply on HN