Live data from Hacker News

Scratch is a big deal

bryanbraun.com

181–190 of 306 posts

Re: Scratch is a big deal

#181
post #176

The great: Scratch has some hugely good things going for it. The community sharing model is ridiculously good. The ease of being able to jump in, put up a sprite and make it do something is super. It is so easy to go from kid-style ideas to something that happens on screen: "there is a castle, and a dragon, and it flies over and makes a noise...". They did a great job of making the sprite actors easy to use with a sm…

I think that tools like scratch and code.org really need to expand their ability to interact with 3rd party services. Code.org has a very limited http request API, but it is locked down to a couple APIs (I’ve looked at this feature, and I have… concerns over API key security) while scratch has no such capability. I really think that this type of thing helps ease the transition between block coding and using a written language. I do understand that there are some concerns with abuse, but I think that many of those concerns have effective mitigations.

Re: Scratch is a big deal

#183
post #176

The great: Scratch has some hugely good things going for it. The community sharing model is ridiculously good. The ease of being able to jump in, put up a sprite and make it do something is super. It is so easy to go from kid-style ideas to something that happens on screen: "there is a castle, and a dragon, and it flies over and makes a noise...". They did a great job of making the sprite actors easy to use with a sm…

I started something like this for a local hackathon to teach kids programming, but then COVID hit, the hackathon was canceled, and the project stalled.

It’s like scratch, but it generates a node script to drive a parrot drone: https://github.com/retrohacker/takeoff

Re: Scratch is a big deal

#184
post #86

Earlier quoted context omitted.

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.

If I remember correctly the early days were painful as well, with it being necessary to manually unpack the jar file, and work with deobfuscated decompiled code. I'm not sure what the state of it is nowadays, but I hope its more pleasant. My favourite game from a modding perspective is Kerbal Space Program. Just drop a Mono/.NET DLL into its GameData folder and you're good to go, and code completion works automatical…

These days Mojang provides obfuscation maps, so you can work with proper class and method names (though no parameter or local variable names). There's also been a lot of effort been put into the tooling. Nowadays there exists Gradle plugins that will download the game jar, decompile it and deobfuscate it using the official mappings. You develop against the deobfuscated code, then the plugin will turn the unobfuscated names back into their obfuscated versions when you compile.

There's also been technology developed that lets you easily modify specific parts of a method in the game, so you can e.g. insert calls to your own functions at runtime.[1] This saves from you having to modify the game jar itself.

[1]: https://github.com/SpongePowered/Mixin

Re: Scratch is a big deal

#185

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…

We're trying to solve that problem with Construct 3: https://www.construct.net We find a lot of schools go straight to python coding after scratch, but our block based system is a powerful and allows students to write their first lines of Javascript inside the blocks themselves - and they can then go all the way to writing full Javascript files inside Construct 3. There is a big gap here and after speaking to a lot o…

This is cool, it reminds me of a program I used to use from Corel called Click n Create. Definitely got me into coding so I like the direction you’re heading!

Re: Scratch is a big deal

#186
post #20
post #2

One of my earliest memories of writing code was playing Gorillas, a QBASIC game, on my school's PC in the early 90s. My friends and I would tweak the source code to make the gravity stronger or weaker, or make other interesting mods to the projectiles. For me, it was a perfect introduction, because there was an already written, already playable program, and I could dive into the code little by little and explore. Scr…

That brings back some very fond memories. Another game included in MS-DOS was Nibbles. I still remember wrapping my head around how Nibbles worked, as the source code didn't seem to fit the actual logic being run. It just looked way too short and simple. That's before I discovered how to view the source code of functions in QBasic. Then it clicked. The Internet Archive has these games available to play by the way: ht…

That is brilliant, thanks. Takes me back. I didn't do much programming in QBasic, but I do remember that interface. I just now debugged Gorillas with a breakpoint and checked one of the values in the immediate window. It is quite a nice debugging interface, considering the constraints! (Actually it has a nice "just works" quality about it of something where the same people came up with the language and the ide and it is all designed together. Classic VS has this feeling too).

Re: Scratch is a big deal

#187
post #2

One of my earliest memories of writing code was playing Gorillas, a QBASIC game, on my school's PC in the early 90s. My friends and I would tweak the source code to make the gravity stronger or weaker, or make other interesting mods to the projectiles. For me, it was a perfect introduction, because there was an already written, already playable program, and I could dive into the code little by little and explore. Scr…

QBASIC was also my intro to programming. I think in a way it’s a shame that kids now first see visuals rather than code. There’s something much more thrilling about seeing a bunch of written instructions become a game, than some sprites that already look a lot like the game start moving about. Another awesome QBASIC feature - the help section taught you everything you ever needed to know to learn every feature.

I was randomly messing around with a Chez Scheme REPL of all things recently. My 7 year old wanted to have a go. So I got here to do basic (+ 1 3) type stuff to add numbers. I think what made this work is I didn't explain anything, she did it, and if there was an error I would say why. She didn't question why the plus was at the beginning not in the middle like at school. I guess what I am getting the feeling of is "monkey see monkey do" might work better than "big tutorial-type explaination". Kids will understand - they have the intellegence to understand "the thing", but not necessarily will they understand the abstract dry way adults describe "the thing".

Also applies to adults somewhat - Monad tutorial vs. just use a few monads and see what they do.

Re: Scratch is a big deal

#188

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 I recall correctly, Scratch existed before Blockly, which was developed by Google. The excellent Microsoft MakeCode environment also uses Blockly and looks like Scratch with the important distinction that you can switch back and forth between blocks and Typescript anytime. Even with that feature, there is no "UI" capability. Getting stuff on the screen still consists of putting up sprites with words over their hea…

At least in TypeScript there are hooks in the game loop that let you write pixels on the screen.

Re: Scratch is a big deal

#189
post #176

The great: Scratch has some hugely good things going for it. The community sharing model is ridiculously good. The ease of being able to jump in, put up a sprite and make it do something is super. It is so easy to go from kid-style ideas to something that happens on screen: "there is a castle, and a dragon, and it flies over and makes a noise...". They did a great job of making the sprite actors easy to use with a sm…

[deleted]

Re: Scratch is a big deal

#190

I didn't see anyone else mention it, but I think one contributing factor is the inclusion of Scratch on the Raspberry Pi, which until the past year or so has been one of the most affordable ways to get kids set up with a little computer for learning. Many educational programs have a setup where each kid gets a Pi (well until recently since the past year they've been hard to get), and Scratch was the perfect companion…

[deleted]
Post reply on HN