Hacker News new | ask | show | jobs
by jacknews 782 days ago
It is deeper, of course it's turing-complete, and I do applaud how easy it is just to get started, and make something, which is absolutely the key to getting kids interested and keeping them so.

But I take huge issue with some of the 'deliberate' limitations. No function returns? No way to share code blocks? These are some of the fundamentals of code.

In my experience these limitations present a big barrier to kids who want to just get some things done, and teaches a very hacky style to those who are willing to learn the complex workarounds to overcome the barriers. Ultimately it leads to the majority being 'confined' to doing typical simple scratch projects, and a small 'elite' who go beyond. Possibly the opposite of what was intended.

2 comments

Take a look at Snap. It was originally a scratch mod, but does allows for all sorts of advanced things. https://snap.berkeley.edu
Yes, snap is great. Unfortunately it's far more daunting than Scratch, if only just in the number of blocks and the way they are presented, using a smaller font, etc, so it's not so good for younger kids just starting out.

But it works as a next step for sure.

Next step is usually into regular code. We stepped into Godot, in our case. After working with scratch on one serious project you realize its limitations and their associated pains. And moving to regular programming language relieves most of this.
That's one thing scratch really needs: a quick way to switch back and forth between "visual" programming and text based programming.
Sure. But it's now easy to move on to the next bigger thing. A kid, club or school, can onboard with Scratch, and any laptop can also run python et al. By the time a kid notices all the cool stuff that seems possible and that they could achieve total world domination, they are in a decent situation to pick another language: python, javascript, whatever. And they can do that on their own - they don't even need the school anymore.
Well there's quite a big jump in complexity moving to python or whatever.

It's complex to even decide what to jump to, then there's setting up the environment, learning text editing and syntax, usually much more complex (and completely unfamiliar) graphics libraries, etc. And then they can't share projects so easily and aim to be curated, etc.

I like lua and love2d as the next step, as it's much simpler and cleaner than kitchen-sink Python (don't get me started on significant-whitespace), but it's still a big jump from Scratch. I wish there was a Thonny for lua though.

It is a big step. But the kid is now older and knows what programming overall is about. Less likely to get discouraged then. But sure, Lua will work.

I agree though that debuggers are usually too complicated - print-based troubleshooting will be enough to start with.