Discuss Scratch
- zekrom809
- Scratcher
75 posts
Object-Oriented Programming
Scratch has a number of things that have enhanced the programming environment. But it's a pain in the butt to track clones, or duplicate code from one sprite to another. A solution to this would be Object-Oriented Programming. If you are not familiar with it, Object-Oriented programming would add two things: classes and objects. Think of classes like this; anything in the class has a set of functions (introduced in 2.0) including other classes. An object is like a sprite; but it inherits the code of a class. Not only would this make it easier to duplicate code across many sprites, but with objects, we would be able to track clones (as an object under a class defined by the mother sprite or by the user (if possible)). This would be very useful; because you could see the X and Y of each clone as well as what number clone it is (#1, #2, #3, etc.). Each clone could be operated by a different sprite using these variables, or you could select a certain number to do something while the others do something else.
__________________________________________________________________________________________________
Responses to comments:
I'm thinking of classes being in the sprite menu but with a graphic that shows clearly that they are a class.
__________________________________________________________________________________________________
Responses to comments:
Yes; by default clones are as they usually are. But with the addition of a Support, but only if it's toggleable. For example, a kid new to scratch would be confused. So by default, it's off, but people who understand it can use it.
class[class1 v]or
new object [class1 v]block, the clones would become objects and you could put classes in.
I'm thinking of classes being in the sprite menu but with a graphic that shows clearly that they are a class.
Last edited by zekrom809 (April 25, 2015 16:58:56)
- LFP6
- New to Scratch
92 posts
Object-Oriented Programming
Yes. Actually having scripts separated somewhat from sprites would make scripting much cleaner and easier as well. See my topic about pushing for a usability cleanup for projects of some scale.
LFP6
Catholic, Tech Enthusiast, Musician, Audiophile, Media Creator
- kilokreeper
- Scratcher
89 posts
Object-Oriented Programming
Support, but only if it's toggleable. For example, a kid new to scratch would be confused. So by default, it's off, but people who understand it can use it.
I can't post an image, because Imageshack is garbage and requires sign up.
- Jonathan50
- Scratcher
1000+ posts
Object-Oriented Programming
OOP doesn't need classes. There's other ways to do OOP, like the Prototyping-style OOP in Self and JavaScript.
Not yet a Knight of the Mu Calculus.
- Jonathan50
- Scratcher
1000+ posts
Object-Oriented Programming
Nooooooooooooooo that won't be nessecary Support, but only if it's toggleable. For example, a kid new to scratch would be confused. So by default, it's off, but people who understand it can use it.
Yes, a person new to Scratch wouldn't understand, but they wouldn't understand lists either, or broadcasts or custom blocks, would they?
Not yet a Knight of the Mu Calculus.
- Sheep_maker
- Scratcher
1000+ posts
Object-Oriented Programming
What if a new Scratcher remixes a project containing these blocks? Support, but only if it's toggleable. For example, a kid new to scratch would be confused. So by default, it's off, but people who understand it can use it.
What if Earth flies into a black hole?
- Sheep_maker This is a kumquat-free signature. :P
This is my signature. It appears below all my posts. Discuss it on my profile, not the forums. Here's how to make your own.
.postsignature { overflow: auto; } .scratchblocks { overflow-x: auto; overflow-y: hidden; }
- AwesomePerson238243
- Scratcher
100+ posts
Object-Oriented Programming
support 100%. this would be incredibly usefull. please implement this scratch team!
because [scratch is awesome v] :: hat operators
forever
say [ horray!]
jump :: motion
imagine, program, share :: custom
- DaSpudLord
- Scratcher
1000+ posts
Object-Oriented Programming
Semi-support for this. Support, but only if it's toggleable. For example, a kid new to scratch would be confused. So by default, it's off, but people who understand it can use it.
Lists, broadcasts, and custom blocks are a necessary sacrifice, my friend. The problem is learning to draw the line. Yes, a person new to Scratch wouldn't understand, but they wouldn't understand lists either, or broadcasts or custom blocks, would they?
| Primary Target | Fireworks Show! Wheel of Fortune || Block Buster ||||| Shut the Box ||||||||| Surf's Up! |||||
U^ェ^U::motion//This is Blocky. He lives in my signature. He is a trained attack block. He protects my siggy from kumquats.
- BookOwl
- Scratcher
1000+ posts
Object-Oriented Programming
As @DaSpudLord said, in my opinion this is too complicated for Scratch, so No Support
who needs signatures
- BurnedCrystal
- Scratcher
100+ posts
Object-Oriented Programming
As @DaSpudLord said, in my opinion this is too complicated for Scratch, so No Support
I disagree, it sounds just about as complicated as navigating a folders on a computer. Which isn't hard once you spend more than 5 minutes doing it, honestly
Essentially as I imagine it for scratch, sprites would be organized in a folder type hierarchy with the upper level featuring a button to show it's… um… ‘branches’ full of sprites
Last edited by BurnedCrystal (April 8, 2016 02:58:01)
A block idea or whatever.
go [in front of v] sprite [sprite1 v] :: looks
Wow, this is a really empty sig. needs some defining features… ah!
Have a RAINBOW :)
- BurnedCrystal
- Scratcher
100+ posts
Object-Oriented Programming
Semi-support for this. Support, but only if it's toggleable. For example, a kid new to scratch would be confused. So by default, it's off, but people who understand it can use it.Lists, broadcasts, and custom blocks are a necessary sacrifice, my friend. The problem is learning to draw the line. Yes, a person new to Scratch wouldn't understand, but they wouldn't understand lists either, or broadcasts or custom blocks, would they?
That's a pretty arbitrary point at which to draw the line
especially when a simple explanation is all it takes for it to be understood :^
A block idea or whatever.
go [in front of v] sprite [sprite1 v] :: looks
Wow, this is a really empty sig. needs some defining features… ah!
Have a RAINBOW :)
- Jonathan50
- Scratcher
1000+ posts
Object-Oriented Programming
No. If you draw the line you will never learn anything new.Lists, broadcasts, and custom blocks are a necessary sacrifice, my friend. The problem is learning to draw the line. Yes, a person new to Scratch wouldn't understand, but they wouldn't understand lists either, or broadcasts or custom blocks, would they?
Not yet a Knight of the Mu Calculus.
- DaSpudLord
- Scratcher
1000+ posts
Object-Oriented Programming
At some point, the user will move on from Scratch (if programming is truly something they're interested in) and they will learn more. But if they can't learn Scratch because it's too complicated, then they don't get that early boost in programming that Scratch provides. I'm not drawing the line to prevent experienced users from learning, I'm drawing the line to allow new users to learn.No. If you draw the line you will never learn anything new.Lists, broadcasts, and custom blocks are a necessary sacrifice, my friend. The problem is learning to draw the line. Yes, a person new to Scratch wouldn't understand, but they wouldn't understand lists either, or broadcasts or custom blocks, would they?
| Primary Target | Fireworks Show! Wheel of Fortune || Block Buster ||||| Shut the Box ||||||||| Surf's Up! |||||
U^ェ^U::motion//This is Blocky. He lives in my signature. He is a trained attack block. He protects my siggy from kumquats.
- Jonathan50
- Scratcher
1000+ posts
Object-Oriented Programming
-.- Scratch is supposed to have a high ceilingAt some point, the user will move on from Scratch (if programming is truly something they're interested in) and they will learn more. But if they can't learn Scratch because it's too complicated, then they don't get that early boost in programming that Scratch provides. I'm not drawing the line to prevent experienced users from learning, I'm drawing the line to allow new users to learn.No. If you draw the line you will never learn anything new.Lists, broadcasts, and custom blocks are a necessary sacrifice, my friend. The problem is learning to draw the line. Yes, a person new to Scratch wouldn't understand, but they wouldn't understand lists either, or broadcasts or custom blocks, would they?
Not yet a Knight of the Mu Calculus.
- DaSpudLord
- Scratcher
1000+ posts
Object-Oriented Programming
And it's also supposed to have a low floor. Scratch already has a pretty high ceiling, as seen by the many complex projects out there. The ST hates raising the ceiling at the cost of also raising the floor.-.- Scratch is supposed to have a high ceiling...
Last edited by DaSpudLord (April 26, 2016 18:52:50)
| Primary Target | Fireworks Show! Wheel of Fortune || Block Buster ||||| Shut the Box ||||||||| Surf's Up! |||||
U^ェ^U::motion//This is Blocky. He lives in my signature. He is a trained attack block. He protects my siggy from kumquats.
- BookOwl
- Scratcher
1000+ posts
Object-Oriented Programming
Technically, every turing complete language (Python, JS, C, C++, Java, Lisp, Assembly and many, many others) all have the same “high ceiling”. The difference is how easy it is to reach. Scratch makes it really hard to get to the high ceiling.And it's also supposed to have a low floor. Scratch already has a pretty high floor, as seen by the many complex projects out there. The ST hates raising the ceiling at the cost of also raising the floor.-.- Scratch is supposed to have a high ceiling...
who needs signatures
- DaSpudLord
- Scratcher
1000+ posts
Object-Oriented Programming
But what is more important- getting inexperienced users onto the low floor or getting experienced users to the high ceiling? And is it worth raising the floor to make the ceiling closer so users can touch it? Personally, I believe the floor is fine where it is.Technically, every turing complete language (Python, JS, C, C++, Java, Lisp, Assembly and many, many others) all have the same “high ceiling”. The difference is how easy it is to reach. Scratch makes it really hard to get to the high ceiling.And it's also supposed to have a low floor. Scratch already has a pretty high floor, as seen by the many complex projects out there. The ST hates raising the ceiling at the cost of also raising the floor.-.- Scratch is supposed to have a high ceiling...
Last edited by DaSpudLord (April 8, 2016 21:21:59)
| Primary Target | Fireworks Show! Wheel of Fortune || Block Buster ||||| Shut the Box ||||||||| Surf's Up! |||||
U^ェ^U::motion//This is Blocky. He lives in my signature. He is a trained attack block. He protects my siggy from kumquats.
- Firedrake969
- Scratcher
1000+ posts
Object-Oriented Programming
How does adding a feature raise the floor? Anyone can just ignore the feature or ask questions and learn about it…
'17 rickoid
bf97b44a7fbd33db070f6ade2b7dc549
- DaSpudLord
- Scratcher
1000+ posts
Object-Oriented Programming
So you're saying we could add 1000 blocks? It doesn't make a difference, just ignore them or ask questions… How does adding a feature raise the floor? Anyone can just ignore the feature or ask questions and learn about it…
| Primary Target | Fireworks Show! Wheel of Fortune || Block Buster ||||| Shut the Box ||||||||| Surf's Up! |||||
U^ェ^U::motion//This is Blocky. He lives in my signature. He is a trained attack block. He protects my siggy from kumquats.
- Firedrake969
- Scratcher
1000+ posts
Object-Oriented Programming
Woah, slow down there. I never said that, so don't attack a straw man, lol (or use a slippery slope - both at once, maybe?). It depends on the blocks, their purposes, their functions, etc…
Last edited by Firedrake969 (April 8, 2016 21:40:07)
'17 rickoid
bf97b44a7fbd33db070f6ade2b7dc549