top | item 43378691

(no title)

eliben | 11 months ago

This is very impressive, amazing work!

One question: how do you manage large code bases in scratch? Is it easy to find a piece of code? Something like grepping for specific things seems difficult.

I've recently been really warming up to Scratch since one of my kids picked it up and really enjoys it. I love the built-in concurrency model - it's a bit like CSP. Gets kids to think concurrently from day 1.

discuss

order

Rendello|11 months ago

Scratch is not conducive to complex (traditional) projects, which I think is sort of the appeal for seasoned programmers. For my part, I woke up one weekend knowing I had to make a recursive bisection demo in it [1]. The effort I knew it would take vs the banality and lack of game play was really funny to me in an absurd way.

Scratch lacks functions with return values, but if you hack global variables to be like registers, you can emulate them and even do recursion. At least that's how I did it. The Cartesian plane has (0,0) in the centre, which is annoying if you're used to traditional graphics.

I have a young cousin who's intimidated by making the jump from Scratch into traditional game dev. I tell him that Scratch simplifies a lot of things, but it also makes a lot of things harder if you're used to regular programming.

"Recursive Bisection on a Cartesian Plane in the Horizontal and Vertical Axes." (hold shift when you press "go" for fast mode): https://scratch.mit.edu/projects/1098438053

ashater|11 months ago

My younger daughter, who is pretty good at making games in Scratch is not that interested in jumping into text/code based programming. I do think Scratch makes things a lot easier and text based programming is not thar appealing to kids. I will try to start her with Pygame but even that might make it seem very arcane and not very visual.

jgwil2|11 months ago

That's really clever, bravo.

Annulus|11 months ago

It is really hard to search when there’s a lot of code - I just had to be pretty careful with how I laid out everything, so I roughly knew where everything was

varun_ch|11 months ago

Apart from keeping your code tidy and succinct, there's also third party extensions like https://scratchaddons.com/addons/ which can make writing code much more enjoyable - notably the `middle-click-popup`, `folders`, and `editor-devtools`. There's also an entire Debugger addon, which lets you log stuff, set breakpoints, see running threads.. Scratch Addons is awesome.

fatant|11 months ago

I think for me it was something that came with practice and intentionally organizing my code in a way that made spatial sense to me.