Discuss Scratch
- Discussion Forums
- » Suggestions
- » Forever if
- Ray-Style
-
Scratcher
4 posts
Forever if
I think it will be more efficient to have a forever if in the control section like 1.4
please think about my idea
please think about my idea

- jvvg
-
Scratcher
1000+ posts
Forever if
Just do this:Yeah, I believe they removed it because the workaround was so simple.forever
if
end
end
- xlk
-
Scratcher
100+ posts
Forever if
LOL, you got it backwards!
it's like this:
it's like this:
if <for some reason this maters>
forever
find alternative work arounds...
end
end
- DotDash
-
Scratcher
1000+ posts
Forever if
LOL, you got it backwards!No, jvvg and NoxSpooth are actually right.
it's like this:if <for some reason this maters>
forever
find alternative work arounds...
end
end
- xlk
-
Scratcher
100+ posts
Forever if
I specifically remember the old forever if block being a real pain due to it's similarity to repeat until, yet just eternally repeating once the boolean was true.LOL, you got it backwards!No, jvvg and NoxSpooth are actually right.
it's like this:if <for some reason this maters>
forever
find alternative work arounds...
end
end
Maybe it's just me remembering wrong though… been a long time since I've looked at diferences between 1.4 and 2.0
- NoxSpooth
-
Scratcher
1000+ posts
Forever if
LOL, you got it backwards!Hm, I think if you do like that, the script inside the forever block will keep happening forever and forever…
it's like this:if <for some reason this maters>
forever
find alternative work arounds...
end
end
- xlk
-
Scratcher
100+ posts
Forever if
Ok, nevemind, just tested it, and it is with the “if” inside. Odd, I do recall having it behave at one point as if the “if” was outside…
Anywho, my memory sucks.
Last edited by xlk (Nov. 2, 2013 10:55:56)
- blob8108
-
Scratcher
1000+ posts
Forever if
Ok, nevemind, just tested it, and it is with the “if” inside. Odd, I do recall having it behave at one point as if the “if” was outside…I believe they removed forever if
forever if <>Because people kept mistaking it for this:
if <>Which it is not.
forever
end
end
- s_federici
-
Scratcher
500+ posts
Forever if
Strongly support adding it back (see http://scratch.mit.edu/discuss/topic/20438/?page=1#post-252213)
- liam48D
-
Scratcher
1000+ posts
Forever if
I think they should have kept it, because it's great for 1s1s people. 

forever if <(mouse x) < (mouse y)>
say [Hi]
- 1234abcdcba4321
-
Scratcher
1000+ posts
Forever if
I think they should have kept it, because it's great for 1s1s people.Still just as easy.forever if <(mouse x) < (mouse y)>
say [Hi]
forever
if <(mouse x) < (mouse y)> then
say [Hi]
- AonymousProfessor
-
Scratcher
100+ posts
Forever if
I think they should have kept it, because it's great for 1s1s people.I don't really think it's that great for 1s1s people, seeing as how then they can really only have one if block…forever if <(mouse x) < (mouse y)>
say [Hi]
- s_federici
-
Scratcher
500+ posts
Forever if
I don't really think it's that great for 1s1s people
I don't know if it is perfect for 1s1s, but I'm sure that my students like it a lot

- firedrake969_test
-
Scratcher
500+ posts
Forever if
There's a lot of things that'd be nicer for us, but won't be implementedI don't really think it's that great for 1s1s people
I don't know if it is perfect for 1s1s, but I'm sure that my students like it a lot

The block is less efficient, vague, and redundant.
- s_federici
-
Scratcher
500+ posts
Forever if
The block is less efficient, vague, and redundant.
I agree that it is less efficient and redundant. But Scratch is a programming language for learners (so inefficiency is not a big concern). And Scratch is the Reign of Redundancy: you could reimplement the behaviour of all blocks in the Movement category by using just two blocks from the same category. But I don't think that the FOREVER IF is vague. As I said, my students use it consistently without any problem.
- firedrake969_test
-
Scratcher
500+ posts
Forever if
The other workarounds are (mostly) hard.
The forever if workaround is literally one block more.
The forever if workaround is literally one block more.
- 1234abcdcba4321
-
Scratcher
1000+ posts
Forever if
The other workarounds are (mostly) hard.Yeah, mostly. Like, not, variable, x pos, y pos, that stuff…
The forever if workaround is literally one block more.
Which is just one (two?) input(s) more.
- AonymousGuy
-
Scratcher
1000+ posts
Forever if
I don't think that the FOREVER IF is vague. As I said, my students use it consistently without any problem.When I first found Scratch, it was horribly vague. It also seems to teach bad programming habits – instead of dedicating an entire loop to check one teensy condition, just pack them all together.
- s_federici
-
Scratcher
500+ posts
Forever if
When I first found Scratch, it was horribly vague. It also seems to teach bad programming habits
This would be true if Scratch would just be a programming language. But Scratch is not. Indeed it is the most natural way of learning logical thinking. It is really fantastic seeing that you can code a solution with Scratch almost by using the same words you would use in order to describe this solution in a natural language (that is English, Italian, French, etc). What at the beginning is really hard to understand to students is, for example, that the IF block is not something that is checked continuosly, but only at very precise moments. So, to them, the FOREVER IF block is exactly what they think the IF block should be. They use it naturally in highly concurrent projects. Everything works as expected.
To students that are non majoring information science (that is, to all the audience to which Scratch is addressed) the very interesting feature of Scratch if that there is a one-to-one mapping from their mental solution to the real solution. There is not need of abstraction: sprites and their natural properties (position, size, volume) are exactly what they represent.
All the “translation burden” (mapping logical steps to commands, features to variables, etc) will come next, for efficiency reasons (but efficiency is just one of the branches of computer science). And, at that point, they will already have acquired all the knowledge and understanding they need. Otherwise, as I said, you could just use two blocks from the Movement category: why to have all the other ones? But, the answer is clear: so to make the path to programming as easier as possible (and only as difficult as strictly necessary)
- Discussion Forums
- » Suggestions
-
» Forever if













