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.
Scratch is a big deal
151–160 of 306 posts
Re: Scratch is a big deal
#152Is 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…
Re: Scratch is a big deal
#153https://projects.raspberrypi.org/en/paths
Disclosure I work for RPF.
Re: Scratch is a big deal
#154Earlier quoted context omitted.
Probably because his kid wanted to make a number guessing game? I feel like the last thing you would want from a children's programming language is "why would you want to do that? Go learn Java if that's the type of thing you want to make"
It seems like Scratch is made specifically for game development, since everything revolves around the concept of manipulating sprites. "Guess the number" is a game, but not the kind of game that this tool was made to create.
Re: Scratch is a big deal
#155Scratch has succeeded in the way that counts most - building community. However I tried to help my son to write some stuff with it and found it very hard and unintuitive to get stuff done. There are other, similar systems that are MUCH better for programming, such as Construct3 https://www.construct.net/ and Snap https://snap.berkeley.edu/ In a way it's very disappointing that such a difficult to program system has b…
Construct 3 allows you to write Javascript files, but also uniquely write lines of Javascript into event blocks so you get to write your first lines of Javascript in a more familiar environment.
Re: Scratch is a big deal
#156Scratch 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 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 of teachers it's a big problem and we're hoping Construct 3 helps smooth this gap out for both the students and the teachers.
Re: Scratch is a big deal
#157Quoted post unavailable.
Re: Scratch is a big deal
#158I 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…
I tried to do a different guessing game, not much more complicated, but it does get hard... I wrote up some thoughts in a thread: https://twitter.com/ianbicking/status/1546207554665172992
It's good that Scratch doesn't change that much, there's lots of books and traded wisdom that retains its value as a result, but there's also some big missing pieces that make some things very hard to write in Scratch, and they could be improved upon but they aren't
Re: Scratch is a big deal
#159Scratch has succeeded in the way that counts most - building community. However I tried to help my son to write some stuff with it and found it very hard and unintuitive to get stuff done. There are other, similar systems that are MUCH better for programming, such as Construct3 https://www.construct.net/ and Snap https://snap.berkeley.edu/ In a way it's very disappointing that such a difficult to program system has b…
I'm one of the founders of Construct 3 - thanks for mentioning us! We see that after scratch lots of schools go straight to coding raw python, we feel Construct 3 can more naturally provide the transition from Scratch to coding and are having a lot of success in schools for this reason. Construct 3 allows you to write Javascript files, but also uniquely write lines of Javascript into event blocks so you get to write…
I did a little fun coding on it and it's really great - I recommend Construct3 to anyone wanting to make a simple game with kids or a sophisticated game.
Construct 3 is miles ahead of Scratch - really not even a comparison.
Re: Scratch is a big deal
#160The primary game I've created during this study: https://scratch.mit.edu/projects/575241838/fullscreen/ Here you can design a level and let a friend pass it - destroy all the bricks.
In Scrath you hit language limitations all the time. The Scratch designers say it is so to be friendly to beginners, however the need to invent crazy tricks to achieve simple things is not actually friendly.
IMHO, it is better and simpler to teach children using more normal languages, consisting of a small set of well composable elements.
The Snap! is an extended reimplementation of Scratch, but prvides power approximately equal to Scheme: https://snap.berkeley.edu/ However, I haven't used it much since I need development support on tablet, which is not complete in Snap.
I also tried Lego Boost and Lego Technics - the coding experience is basically the same as in Scratch, but for teaching programming Scratch is better I think, because you can create interesting things without the need to connect to devices. And not much you can build from lego motors and sensors.
And the last I explored was the Castle mobile app. A couple of games I created:
https://castle.xyz/d/l-_oFKrf5?cxshid=yjIUmDcFo https://s.castle.xyz/qZbz0u2nK10
The coding experience is worse then Scratch in my opinion (especially on Android were the Castle app has a redraw bug, so that the menus you invoke are not visible until you manually initiate a redraw by switching to Android app list and back to the Castle app). But the advantage is 2d physics support - they wrap the Box2D engine.
Also, I think the Elevator Saga is a good idea for learning. And it's just javascript. https://play.elevatorsaga.com/