Remix.run Logo
ljf 2 days ago

Yeah Scratch has a lot of limitations - but as an introduction to the concepts, it has been amazing. Watching him be able to build a game that he enjoyed on day one, then by maybe 6 lessons later to be using Python - has been great. I'm not a coder so it is not something I could help with (I play with Arduino etc. but I don't know python).

But getting the early simple lessons to explain how changing variables affects the game, and how to run things in sequence, has been really powerful for him.

glimshe 2 days ago | parent [-]

You can learn a lot from Scratch, that's for sure. I'm not saying it's bad, it's actually a decent learning tool. But I think it's a step back from BASIC.

You could code a ton of fairly decent games, utilities and even full applications in BASIC. While that's theoretically possible in Scratch, it's a lot more cumbersome. Scratch feels more like a puzzle game than a real programming language. BASIC, especially the later, better dialects, could do it all. With 2 very understandable lines:

10 PRINT "glimshe rulez!"

20 GOTO 10

You could teach that the computer is under your command and you can ask it to do work for you nonstop. It teaches a bit of I/O, program sequence and loops. No stupid "main" functions, indentation nonsense, cryptic library includes or cumbersome drag-and-drop. The simplicity of the code above is one of the treasures of computing history. 90% or more of humanity can quickly understand these two lines and I super disagree with Dijkstra about BASIC.

It was at the same time a teaching tool and a professional programming language (although, arguably, not amazing at that).

ryoshu 2 days ago | parent [-]

Scratch is good for immediate feedback. I mentored some middle school students last year that learned Scratch in elementary. They've graduated to JavaScript and Python now. They built a bunch of simple—and super fun—games for a school project. Notepad.exe and a browser :)