Discuss Scratch
- Discussion Forums
- » Suggestions
- » Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
- rdococ
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Early Scratch versions were built on top of Squeak Smalltalk. For Scratch 2 and 3, the Scratch Team decided to reimplement Scratch in Flash and then in JS with a whole host of libraries.
Smalltalk was a brilliant programming language. It was almost as simple as Scratch and designed for kids, but had the power of a traditional programming language. The whole thing was a live environment where you can play around with the code while it's running and rapidly develop and test all sorts of programs. Smalltalk is purely object-oriented, which is not far removed from Scratch's own sprite-based programming. Squeak Smalltalk is a current day versions of this language, and the version Scratch 1.x was implemented in.
I contend that the Scratch Team vastly underestimated the pedagogical value in having what is essentially an advanced Scratch-like language under the hood and allowing advanced Scratchers to extend Scratch with their own creative ideas while learning advanced programming techniques. Unfortunately, Scratch 3 replaced this with framework hell, and the time-honoured tradition of Scratchers finding and mucking around with Squeak is long gone.
If Scratch 4 ever rolls around, the Scratch Team should base it on a similar codebase to Scratch 1.4. Scratch's implementation should be simple to understand, without an over-reliance on libraries, frameworks and version management systems that even many advanced Scratchers are unprepared to properly install. Better yet, Scratch could be implemented in a live programming environment; for example, Javascript-based Smalltalks capable of running on phones and tablets.
Smalltalk was a brilliant programming language. It was almost as simple as Scratch and designed for kids, but had the power of a traditional programming language. The whole thing was a live environment where you can play around with the code while it's running and rapidly develop and test all sorts of programs. Smalltalk is purely object-oriented, which is not far removed from Scratch's own sprite-based programming. Squeak Smalltalk is a current day versions of this language, and the version Scratch 1.x was implemented in.
I contend that the Scratch Team vastly underestimated the pedagogical value in having what is essentially an advanced Scratch-like language under the hood and allowing advanced Scratchers to extend Scratch with their own creative ideas while learning advanced programming techniques. Unfortunately, Scratch 3 replaced this with framework hell, and the time-honoured tradition of Scratchers finding and mucking around with Squeak is long gone.
If Scratch 4 ever rolls around, the Scratch Team should base it on a similar codebase to Scratch 1.4. Scratch's implementation should be simple to understand, without an over-reliance on libraries, frameworks and version management systems that even many advanced Scratchers are unprepared to properly install. Better yet, Scratch could be implemented in a live programming environment; for example, Javascript-based Smalltalks capable of running on phones and tablets.
Last edited by rdococ (Feb. 10, 2024 23:41:26)
- wer65hertg
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
How would this affect the normal Scratch user, and not just the team who develops it?
- rdococ
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
The normal Scratch user would find it much easier to modify and extend Scratch as they (and I) did in its earlier years, and it would naturally provide a more advanced programming language for older users without splitting the community. Scratch 1.x gave the whole Scratch community access and a gradual introduction to a world of live programming that newer versions simply can't, but the Scratch Team could fix this. How would this affect the normal Scratch user, and not just the team who develops it?
Plus, they certainly have the funding and manpower now, and it's not like they're still adding features to Scratch 3.
Last edited by rdococ (March 7, 2023 15:46:58)
- wer65hertg
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
The normal Scratcher doesn't make or modify extensions, they are just added by the ST or developed unofficially by a few people. Also, what do you mean this would make a “more advanced programming language”? Does that mean Scratch will have more complex blocks, or the programming language it's based on would be more complex? The normal Scratch user would find it much easier to modify and extend Scratch as they (and I) did in its earlier years, and it would naturally provide a more advanced programming language for older users without splitting the community. Scratch 1.x gave the whole Scratch community access and a gradual introduction to a world of live programming that newer versions simply can't, but the Scratch Team could fix this.
Plus, they certainly have the funding and manpower now.
- rdococ
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
The Also, what do you mean this would make a “more advanced programming language”? Does that mean Scratch will have more complex blocks, or the programming language it's based on would be more complex?programming language Scratch is based on would become like a more advanced version of Scratch. This is instead of being JS + React, requiring an external command-line package manager, dependencies, an understanding of React's declarative systems and what not.
Ah, not back in the 1.x days. A lot of people modified Scratch back then, because it was much easier and it was a great stepping stone for the world of real programming. That's exactly what I'm aiming for with this suggestion. The normal Scratcher doesn't make or modify extensions, they are just added by the ST or developed unofficially by a few people.

Last edited by rdococ (March 7, 2023 15:57:23)
- 54387a
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Support because I want to modify Scratch to add all the blocks I want to add with more features.
- gilbert_given_189
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Isn't Smalltalk… a bit aged at this point? You can sell me with the things Smalltalk gives to you, but if the engine didn't fit the modern era well, I don't think it's a good idea to use them.
- gdfsgdfsgdfg
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
No support
what happens if you upload a js scratch project to a squeak project?
*Booom*
the project dies from error
what happens if you upload a js scratch project to a squeak project?
*Booom*
the project dies from error
Last edited by gdfsgdfsgdfg (March 7, 2023 16:35:31)
- wer65hertg
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
I assume it would be supported, since you can upload Scratch 1.0-2.0 projects now. I don't believe the programming language of Scratch would matter, since the project files are in an entirely different language than Scratch (it's a ZIP file with images and audio, as well as a project.json file for the project's code. I know this is the case for SB3's, but I'm not sure about SB2's or SB's). No support
what happens if you upload a js scratch project to a squeak project?
Last edited by wer65hertg (March 7, 2023 16:38:36)
- gilbert_given_189
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
They could just update Scratch 1.4 to support those projects. It's not like every Scratch project is compiled. No support
what happens if you upload a js scratch project to a squeak project?
*Booom*
the project dies from error
- cookieclickerer33
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Say it with me everyone!
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)
- rdococ
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Thanks for bumping Say it with me everyone!
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)

I don't expect Scratch 4 to come out for a while, but if Scratch lives long enough then the technologies it's using are bound to get discontinued. This is something for the Scratch Team to consider when that happens.
- cookieclickerer33
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
I have a feeling by the time HTML gets shut down scratch will have been discontinued for a while, given most of the internet is built off of HTMLThanks for bumping Say it with me everyone!
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)
I don't expect Scratch 4 to come out for a while, but if Scratch lives long enough then the technologies it's using are bound to get discontinued. This is something for the Scratch Team to consider when that happens.
- GIitchInTheMatrix
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Say it with me everyone! Say it with me everyone!
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)
Thats blatant misinformation!
Scratch 3.0 was announced and worked on by 2016, before Flash even announced its EOL! They only put it out when they did because the editor wouldn’t work anymore! So, while 4.0 won’t ever come out, it won’t come out until the ST wants to try out a new editor! And the myth Scratch. Came out due to Flash dying, well, Flash announced its EOL 3 YEARS after the ST w started working on 3.0! So, unless they’re time travelers, they wouldn’t know it.
- rdococ
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Sure, but React is a Javascript framework Scratch depends on and I could easily see I have a feeling by the time HTML gets shut down scratch will have been discontinued for a while, given most of the internet is built off of HTMLa Javascript framework getting canned at any time. There will also be HTML6 eventually which might force ST to update, etc.
This suggestion isn't the most serious in the world but I think there's a good argument for it. Maybe it's a better idea for a new kids programming language, like a block-based Smalltalk. There's a great niche for a live, fully featured programming environment for advanced Scratchers and I would love for them to have one.

Oh, that's interesting. Scratch 4 could begin development even if HTML5/JS/React are never deprecated. Say it with me everyone!
Thats blatant misinformation!
Scratch 3.0 was announced and worked on by 2016, before Flash even announced its EOL! They only put it out when they did because the editor wouldn’t work anymore! So, while 4.0 won’t ever come out, it won’t come out until the ST wants to try out a new editor! And the myth Scratch. Came out due to Flash dying, well, Flash announced its EOL 3 YEARS after the ST w started working on 3.0! So, unless they’re time travelers, they wouldn’t know it.
Last edited by rdococ (March 8, 2023 13:54:58)
- PGBFLITE6373
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Scratch 4 will Say it with me everyone!never come out. Honestly, I"m kinda surprised people still believe this one. Scratch 3.0 was announced before adobe announced the EOL. So, that means they theoretically could release a 4.0, because it isn't critically based on the death html5.
Scratch 4 will never come out!
- GIitchInTheMatrix
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Right. Heck, we would have 3.0, even if Adobe waited ten years to discontinue Flash.Oh, that's interesting. Scratch 4 could begin development even if HTML5/JS/React are never deprecated. Say it with me everyone!
Thats blatant misinformation!
Scratch 3.0 was announced and worked on by 2016, before Flash even announced its EOL! They only put it out when they did because the editor wouldn’t work anymore! So, while 4.0 won’t ever come out, it won’t come out until the ST wants to try out a new editor! And the myth Scratch. Came out due to Flash dying, well, Flash announced its EOL 3 YEARS after the ST w started working on 3.0! So, unless they’re time travelers, they wouldn’t know it.
- wer65hertg
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Stop saying this! It's not true! Say it with me everyone!
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)
- 54387a
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Instead of Scratch 4.0, we might have Scratch 3.1. (Which might be a huge update to Scratch 3.0)Stop saying this! It's not true! Say it with me everyone!
Scratch 4 will never come out!
the only reason scratch 3 came out was because of the death of flash, so unless HTML 5 gets discontinued, scratch will not reach 4.0, there will be other updates but a new update as big as 3.0/new version has not even been in development, the closest thing to an update we are probably going to get is the currently in development dark mode and high contrast blocks, other than that there are currently no other planned features other than those in scratch lab (that may never even be implemented at all! Although I hope we get the text one, making a text engine is really time consuming if you want centering)
Last edited by 54387a (March 8, 2023 15:59:20)
- Paddle2See
-
1000+ posts
Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)
Let's stop arguing about what the next version(s) of Scratch will be called. It's not important. There will be future changes to Scratch and they will probably have some kind of revision number attached to them.
Instead, please focus on developing the suggestion. What are the benefits of this idea? What problems do you see if it were implemented? Are there mitigation strategies that could be developed to address any potential problems?
Thanks.
Instead, please focus on developing the suggestion. What are the benefits of this idea? What problems do you see if it were implemented? Are there mitigation strategies that could be developed to address any potential problems?
Thanks.
- Discussion Forums
- » Suggestions
-
» Make Scratch simpler to modify (formerly: implement Scratch in Smalltalk again)