Scratch 3.0 is coming in January of 2019

Poll

is cool?

yes
9 (50%)
no
8 (44.4%)
mixed opinion
1 (5.6%)

Total Members Voted: 18

Author Topic: Scratch 3.0 is coming in January of 2019  (Read 1948 times)

I might get berated for caring about scratch, but whatever.

The beta's already out, too. It looks pretty nice.


I'm really critical of scratch and many visual scripting languages because the concept of visual scripting is lost or really dumb.The idea behind visual scripting is to create a visually friendly method for beginners to script in and allow them to add functionality without having to rack their brain on what does what. Scratch is really the epitome with the bright colorful blocks and the easy drag and drop controls. It was definitely the go to visual scripting language back in the early 2010s or whenever.

The reason I don't like snap scratch visual languages is because they're supposed to be an introduction to scripting, but the native language supports more complex macros like functions and stuff. That alone is a bad sign because this beginner language is so versatile you can use it to make incredibly complex stuff making it a slightly lower level scripting language too. This seems like a good thing but in a second I'll explain why it's a bad thing

The drag and drop linear design is bad for your brain. The idea of scripting is not only to make something that works but to learn practices that lead to more efficient design and later, more reusable and portable code. Dragging and dropping is a fine motor autocomplete that trains your brain to associate functionality with mouse movement. It's faster than typing but it's so fast that your brain spends less and less time understanding how you get to the solution (planning, understanding of blocks). Autocomplete in IDE are supposed to be used to make choosing a keyword faster but actually eases how your brain learns what keywords do. So instead of saying "should I use private or protected?" your brain says "should I move my mouse 10 pixels up or down."

I guess the introduction of programming should be focusing on functionality but you never really expand as a programmer until you begin to understand the form and begin planning more than brute forcing. Scratch promotes function over form because the form has been handicapped. In a sense every program you write in scratch teaches you nothing. That's what I dislike about it. Maybe my opinion is kinda dumb but I have some merit because I used scratch fir 4 years when it came out and used torquescript for God knows how many years and I basically sucked always until last year when I began to plan my stuff and really understand the most important part of programming. But years before that I was running in circles trying to improve but getting nowhere because my form was nonexistent

Visual programming is bad. It feels like it helps lead young programmers into the field but it actually cripples them by destroying the very foundation of programming, which is literally writing the program. Most people leave a scratch project saying "look what I made" but scratch needs to teach them to start saying "look how I made this"
« Last Edit: August 03, 2018, 09:14:58 PM by thegoodperry »

>language to help people learn programming that is backed by multiple studies and made by MIT

>its bad because it allows me to code too fast without thinking

>language to help people learn programming that is backed by multiple studies and made by MIT

>its bad because it allows me to code too fast without thinking

I think he's saying it's too powerful as a language, causing people to get confused and it doesn't really teach you the basics because it can be so complex to

>language to help people learn programming that is backed by multiple studies and made by MIT

>its bad because it allows me to code too fast without thinking
it's been researched that autocomplete macros and pattern recognition programming results in more errors per line than regular hard typed programming. the entire process basically enables faster brute forcing and leads to sloppier solutions that have almost no room for update. Scratch is basically an entire language built around brute forcing too which is already problematic because it teaches people using it to just drag and drop until the program works rather than do some basic planning and class discovery

You know teach a man to fish? Imagine it like this: teach a man to fish and he can eat for a lifetime. teach a man how fishing works and he can catch every fish in the sea. This can be misunderstood or argued that scratch is teaching people how to program, which I guess is true, but it's not teaching people how programming works, how to write good programs and understand the importance of planning in programming. It's just teaching them that dragging the blue box moves the Sprite right. Basically just the superficial syntax of scratch and it's blocks.
« Last Edit: August 03, 2018, 09:48:31 PM by thegoodperry »


I made an album on Imgur to showcase this: See here

Basically, what this is some code that my friend wrote in Scratch (he had been using Scratch for a while), and you can see how lengthy it is. However, this is just player movement and collisions. You may not be able to see it, but the way that he did it is by checking for collisions with EVERY SINGLE DIFFERENT TYPE OF ENEMY, which is the worst possible way you could have done this. But hey, it worked, so it must be good code, right?

My friend has moved over to Gamemaker Studio 2 since then, but from the things he's told me about how he programs, it seems to me that he uses different sprites for every single action that a character and/or enemy does, which is a waste of data. I told him that he could've used one sprite for multiple things, but he said that the way that he does it makes the most sense to him, and that he doesn't really need to change it. So let this be a lesson to anybody: never let somebody interested in programming start with Scratch.
« Last Edit: August 04, 2018, 01:15:52 PM by LOLFace112 »


Yeah I worked with someone once who coded purely in brute force and I tried to stress the importance of actual design and reusability of routines and he got really angry at me so I went with his way on the project. We didn't finish by the deadline because he built every class dependent on each other so when we found out the collision system scope was too small for what we needed we would have to rewrite all 2000 lines of the program because everything was dependent on this one collision script which was already inefficient. It was dumb and we got a 65 on the project because it was a month late. I had to sit down for a day with a notebook and plan every class and routine we needed and when we rewrote it there were 20 errors that we were able to comfortably fix without the rest of the program breaking

Anyone who thinks brute force is a viable solution needs to leave because you're basically sacrificing the expansion and integrity of your project for a short term solution

Man, I know this is 100% anecdotal, but I think there are things to be said about the experiences, of young kids, especially gained from using Scratch.

Scratch for me when I was around 10 was an introduction to the world of computer programming in the most general of senses. I always wanted to have some sort of picture and understanding about what I heard at home or in school about "computer code". What is it? How does it work? Can you just tell a computer to do something by writing instructions it can understand? To a young boy or girl, that can be mindblowing.

Scratch for many kids is more than that. It's a total creative outlet. It's an inspiration for pre-teens to make their own games or presentations. You have a place to interact with friendly computer technicians who work for MIT. It's a community for kids to hang out and just have fun.

Yes, it is quite different than actual programming. But is it a bad thing for an educational and fun tool to provide only the basics? Personally, it's fueled my curiosity to learn more and more about how computers work and how to program more efficiently. It can lead you into a Computer Science degree if you had the fondest of memories with other people just having a damn lot of fun.

Maybe I'm too nostalgic and optimistic about Scratch, but it honestly is heartwarming to me that a group of passionate computer geeks from freaking MIT came together and continue to support this great, admirable, educational, and productive platform for nerdy kids. I'm certainly thankful.
« Last Edit: August 04, 2018, 02:27:41 PM by Acerblock »

lol it doesnt even support Opera wtf

Man, I know this is 100% anecdotal, but I think there are things to be said about the experiences, of young kids, especially gained from using Scratch.

Scratch for me when I was around 10 was an introduction to the world of computer programming in the most general of senses. I always wanted to have some sort of picture and understanding about what I heard at home or in school about "computer code". What is it? How does it work? Can you just tell a computer to do something by writing instructions it can understand? To a young boy or girl, that can be mindblowing.

Scratch for many kids is more than that. It's a total creative outlet. It's an inspiration for pre-teens to make their own games or presentations. You have a place to interact with friendly computer technicians who work for MIT. It's a community for kids to hang out and just have fun.

Yes, it is quite different than actual programming. But is it a bad thing for an educational and fun tool to provide only the basics? Personally, it's fueled my curiosity to learn more and more about how computers work and how to program more efficiently. It can lead you into a Computer Science degree if you had the fondest of memories with other people just having a damn lot of fun.

Maybe I'm too nostalgic and optimistic about Scratch, but it honestly is heartwarming to me that a group of passionate computer geeks from freaking MIT came together and continue to support this great, admirable, educational, and productive platform for nerdy kids. I'm certainly thankful.
yeah this would also be my argument for scratch being great as well. I totally agree with everything you said, I just think that it isn't teaching the foundation of programming. Starting off with a strong foundation saves you years of study. Like playing with Lego bricks is good and can really get you into architecture but it's so vastly different from architecture that you'll have to unlearn the bad behavior you learned from Legos ie bricks sticking together, etc

Anybody who uses scratch should be executed


they call it scratch cause a brother really do be scratchin his nuts all over dis stuff