[HN Gopher] Scratch in the Browser
       ___________________________________________________________________
        
       Scratch in the Browser
        
       Author : andsoitis
       Score  : 57 points
       Date   : 2023-12-27 14:47 UTC (8 hours ago)
        
 (HTM) web link (squeak.js.org)
 (TXT) w3m dump (squeak.js.org)
        
       | janwillemb wrote:
       | Isn't scratch always in the browser? I'm confused.
        
         | Turing_Machine wrote:
         | No, when Scratch first came out it was a stand-alone Squeak
         | Smalltalk image that you ran locally. There was a Java-based
         | online viewer, but no editor.
         | 
         | Then it moved to a Flash version. If I remember right, this was
         | at least somewhat motivated by vendors dropping Java support in
         | the browser. Of course, at almost the same time the Flash
         | version came out, vendors started dropping support for _that_.
         | 
         | The current one is written in JavaScript, I believe. Edit: it's
         | still running Squeak, but using a JavaScript Squeak
         | interpreter. See the top-level site for the given link.
        
           | Wowfunhappy wrote:
           | To be clear, the current version of Scratch (version 3) is
           | written in Javascript and other web technologies.
           | 
           | TFA isn't the current version of Scratch. It's Scratch 1.4--
           | which was written in Smalltalk--running in a browser via
           | Squeak.
           | 
           | If you've used modern Scratch, it's interesting to see what
           | has changed (and what hasn't).
        
             | Turing_Machine wrote:
             | Ah, thanks. I must've missed a version or two somewhere
             | along the way.
        
           | jecel wrote:
           | There was a Squeak web browser plugin early on so you could
           | run Etoys or Scratch that way. Unfortunately they found out
           | that schools had a very short list of browser plugins they
           | allowed on their computers. Flash was included, Squeak was
           | not. They failed to change that after years of trying.
           | 
           | This motivated the MIT guys to port Scratch to Flash (very
           | bad timing) and the ex Squeak guys to focus on Javascript
           | (Lively Kernel and other projects).
        
         | subtra3t wrote:
         | This is a very early version of scratch that was written in
         | smalltalk. The current version is written in JS (desktop app is
         | electron based)
        
       | VonGuard wrote:
       | The exciting thing here is that this runs on Squeak in
       | JavaScript. Squeak is a modern Smalltalk, and now it can
       | obviously be run on top of JavaScript. That's dynamic languages
       | all the way down!
        
         | layer8 wrote:
         | JavaScript is usually implemented in a statically-typed
         | language like C++, so not all the way down.
        
       | skulk wrote:
       | The nostalgia is overwhelming. This (Scratch 1.4) is where I
       | learned how to write and read computer programs. In a way, this
       | environment is my home.
       | 
       | Unfortunately, keyboard input doesn't seem to work. Try making a
       | [Forever if <Key Space Pressed>            [Say "hello"]]
       | 
       | script and it doesn't seem to react to space key presses. (Chrome
       | browser on Linux)
        
       | pzel_ wrote:
       | Also see Snap!, a fork of scratch3 (the js-only version, not the
       | squeakvm-in-the-browser versrion from TFA).
       | https://snap.berkeley.edu/
       | 
       | Snap! is made by folks previously involved in Berkeley Logo, and
       | has a lot of "missing pieces" that make organizing programs
       | easier: lambdas, cc, and binding functions to definitions (aka
       | build-your-own-blocks).
        
         | CDSlice wrote:
         | It actually isn't a fork of Scratch3 but was started way back
         | in Scratch1.4 as a JS implementation using Morphic which was
         | inspired by Squeak. It is really good software and IMO is
         | better than Scratch since it provides the tools to scale up
         | from the toy programs Scratch is optimized for.
        
       | schappim wrote:
       | For those keen on exploring visual programming with children, I
       | recommend visiting the following websites:                 -
       | MakeCode for micro:bit [1]       - MakeCode Arcade[2]
       | [1] https://makecode.microbit.org       [2]
       | https://arcade.makecode.com
        
       ___________________________________________________________________
       (page generated 2023-12-27 23:00 UTC)