3 ms·
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 expe
by Wowfunhappy 4y ago
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.
- icedata 4y agoWe tried it the other way. I worked for a decade at Logo Computer Systems, where the principal designer of Scratch used to work. Eventually schools tired of teaching kids text-based coding.
- philsnow 4y agoNormal code that's compact and easy to follow is usually that way because it was written by somebody with a lot of experience. I've seen plenty of shit-piles called "code".
- Wowfunhappy 4y agoThere are better and worse programs in every language, including Scratch. However, Scratch blocks physically take up more pixels on screen, so you can't see as much information at once. Also, in most languages, you don't have to worry about the two-dimensional layout of your code.
- philsnow 4y ago> in most languages, you don't have to worry about the two-dimensional layout of your code I bet most people saw your comment and thought of things like befunge [0] (and scratch of course), but I smiled when I thought of fortran 77... [0] https://en.m.wikipedia.org/wiki/Befunge https://en.m.wikipedia.org/wiki/Befunge
- gs17 4y agoI work with a similar platform called NetsBlox which is based on Snap! (sort of Scratch + Scheme) and there's some text-based search/input functionality, to the point where you can write a decent amount of it without your mouse at all. Might be worth looking into, Snap! has a lot of more advanced CS concepts Scratch doesn't AFAIK without making the skill floor noticably higher. It also focuses on creating custom blocks, which makes organization a lot easier.