
Scratch: Block-based visual programming language - based2
https://scratch.mit.edu/
======
jmiskovic
Any reason why such well known project was posted now?

I like Scratch's shape-based typing. If the shape doesn't fit it's wrong type,
and you can visually look for adapter to covert it to correct type. For
example, IF has hexagonal hole and variable is oval shaped, you see that they
don't fit together. So you go through available blocks and find operator >
which is hexagonal on outside and has oval holes. It is both brilliant and
obvious design in retrospect.

On the other hand, the language doesn't gain much by being visual. It looks
like Lua that's chopped up in draggable pieces. You can still make syntax
errors but they are silently ignored? The complexity is limited to how much
you can fit on canvas. The language doesn't teach anything about abstracting
away already solved problems.

The execution environment is great. The only thing I would change there are
provided graphics sprites. Even that simplistic cat mascot is too high-
definition compared to what you can draw with built-in paint tool. Perhaps if
all provided graphics was drawn in that same tool, it would set a better stage
for creativity.

~~~
SirLotsaLocks
Yeah, I signed up for a computer science class in 7th and 8th grade and this
is all we did programming related, didn't learn much at all.

~~~
andykx
Part of a previous internship of mine involved teaching Scratch to kids in 2nd
to 4th grades. We taught Python to kids around the 7th and 8th grade. Scratch
is much better suited to younger children, imo.

~~~
correct_horse
I taught python to some 5th-6th graders. I forgot what it was like to be that
age - they're really slow at typing, and roughly as fast as an adult at
mousing.

------
BTBurke
Scratch has been great for my 10 year old daughter. She was off last week for
spring break and started learning it on Saturday. By the following weekend she
had written 4 or 5 games and was so proud of her first platformer game.

It teaches some solid programming concepts and the ability to easily "remix"
(aka fork) someone else's code is a great feature.

The only downside is that now she's obsessed with how many likes she is
getting on her games once she publishes them.

------
Koshkin
Not suitable for touch-typing code writers. (Interestingly enough, visual
programming is closer to doing mathematics, in that mathematical notation is
often non-linear but rather two-dimensional.)

------
bickford74
Eliza chatbot written in scratch:
[https://scratch.mit.edu/projects/312783504/](https://scratch.mit.edu/projects/312783504/)

------
harrylepotter
kinda looks like a rebirth of google App Inventor/Blockly?

~~~
jecel
The other way around - Scratch is the original (though inspired by the earlier
Etoys and other systems) and has become the standard to be copied by other
block based languages (not counting those directly derived from it like
Berkeley's Snap!). Pretty much like most new languages looked like
Algol/Pascal until the late 1980s when they all started to look like C
instead.

