Discuss Scratch

ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

I think that lists and variables should be separated into their own categories when a user makes a list. The separation would help if you have a lot of variables or custom blocks to easily find the lists section without scrolling, which is harder on mobile. It also does not really make much sense to keep lists under a variables section.

EDIT: Now it will only separate if the user creates a list, because lists may be hidden because of their complexity.

Last edited by ThisIsTemp1 (Aug. 6, 2024 23:48:01)

Dragonmyflesh
Scratcher
500+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

Support, it's annoying how you have to scroll down.
medians
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

By the way, the category was called Data in Scratch 2.0, which made more sense because it had both variables and lists.
So related:
https://scratch.mit.edu/discuss/post/4259034/
https://scratch.mit.edu/discuss/post/6277332/
https://scratch.mit.edu/discuss/post/2764565/
Edit: Also, I don't know if this is actually the case, but I could've sworn if you went to a category, it goes to the top, so you can just click More Blocks, and then scroll up a bit.

Last edited by medians (July 20, 2024 13:23:03)

ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

medians wrote:

By the way, the category was called Data in Scratch 2.0, which made more sense because it had both variables and lists.
So related:
https://scratch.mit.edu/discuss/post/4259034/
https://scratch.mit.edu/discuss/post/6277332/
https://scratch.mit.edu/discuss/post/2764565/
Edit: Also, I don't know if this is actually the case, but I could've sworn if you went to a category, it goes to the top, so you can just click More Blocks, and then scroll up a bit.

That is the case, however it still does not make sense to put a subcategory that is usually stagnant into a category that is about things changing, which is the main reason I want it separated, because it feels wrong. Not to mention that scrolling is pretty difficult on a mobile device such as a tablet.
DeletedRohizzle
New Scratcher
20 posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

I think ST put them into the same category because lists are variables
But it would make things easier for everyone especially with projects with like 50 lists
ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

DeletedRohizzle wrote:

I think ST put them into the same category because lists are variables
But it would make things easier for everyone especially with projects with like 50 lists

You are wrong. Variables are meant to always change, while lists usually never change. Two big differences. Putting lists in variables implies that lists are always meant to be changing, which is wrong.
BigNate469
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

ThisIsTemp1 wrote:

DeletedRohizzle wrote:

I think ST put them into the same category because lists are variables
But it would make things easier for everyone especially with projects with like 50 lists

You are wrong. Variables are meant to always change, while lists usually never change. Two big differences. Putting lists in variables implies that lists are always meant to be changing, which is wrong.
Nope, you're wrong. Lists very often change, and in JavaScript (the programming language Scratch runs on), lists (actually called arrays in JS) are defined as:
let listname = [];
// or
const listname = [];
// or 
var listname = [];
Where listname is the name of the list.

Variables are declared the same way, just instead of the [], it's the value of the variable.
ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

BigNate469 wrote:

ThisIsTemp1 wrote:

DeletedRohizzle wrote:

I think ST put them into the same category because lists are variables
But it would make things easier for everyone especially with projects with like 50 lists

You are wrong. Variables are meant to always change, while lists usually never change. Two big differences. Putting lists in variables implies that lists are always meant to be changing, which is wrong.
Nope, you're wrong. Lists very often change, and in JavaScript (the programming language Scratch runs on), lists (actually called arrays in JS) are defined as:
let listname = [];
// or
const listname = [];
// or 
var listname = [];
Where listname is the name of the list.

Variables are declared the same way, just instead of the [], it's the value of the variable.

So is the reason ST meshed together lists and variables because they are declared the same way in Javascript?
DeletedRohizzle
New Scratcher
20 posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

ThisIsTemp1 wrote:

BigNate469 wrote:

ThisIsTemp1 wrote:

DeletedRohizzle wrote:

I think ST put them into the same category because lists are variables
But it would make things easier for everyone especially with projects with like 50 lists

You are wrong. Variables are meant to always change, while lists usually never change. Two big differences. Putting lists in variables implies that lists are always meant to be changing, which is wrong.
Nope, you're wrong. Lists very often change, and in JavaScript (the programming language Scratch runs on), lists (actually called arrays in JS) are defined as:
let listname = [];
// or
const listname = [];
// or 
var listname = [];
Where listname is the name of the list.

Variables are declared the same way, just instead of the [], it's the value of the variable.

So is the reason ST meshed together lists and variables because they are declared the same way in Javascript?
Yes, Scratch is built off of JavaScript.
Za-Chary
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

I assumed that the reason Lists are contained in Variables is because lists are naturally more complex for beginner programmers, so the Scratch Team wanted to de-emphasize their existence by not giving Lists a separate category. I'm not sure if that's true, or if I'm wording that in the best way, but I think I've heard it somewhere before and it makes some sense.
ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

Za-Chary wrote:

I assumed that the reason Lists are contained in Variables is because lists are naturally more complex for beginner programmers, so the Scratch Team wanted to de-emphasize their existence by not giving Lists a separate category. I'm not sure if that's true, or if I'm wording that in the best way, but I think I've heard it somewhere before and it makes some sense.

That does makes sense, but now it puzzles me because custom blocks are also complex, so now I am wondering why there isn't just a “Variables & More” section after operators to de-emphasize custom blocks as well, as those are arguably more complex than lists.
Za-Chary
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

ThisIsTemp1 wrote:

That does makes sense, but now it puzzles me because custom blocks are also complex, so now I am wondering why there isn't just a “Variables & More” section after operators to de-emphasize custom blocks as well, as those are arguably more complex than lists.
Arguably lists are more complex than custom blocks. In its most basic form, a custom block is just the same as a “broadcast and wait” block (which isn't self-explanatory itself). I haven't really done the research as to what is complex or not, though. I trust the Scratch Team has researched this enough.
ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

Bump 1.
TheCreatorOfUnTV
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

Za-Chary wrote:

ThisIsTemp1 wrote:

That does makes sense, but now it puzzles me because custom blocks are also complex, so now I am wondering why there isn't just a “Variables & More” section after operators to de-emphasize custom blocks as well, as those are arguably more complex than lists.
Arguably lists are more complex than custom blocks. In its most basic form, a custom block is just the same as a “broadcast and wait” block (which isn't self-explanatory itself). I haven't really done the research as to what is complex or not, though. I trust the Scratch Team has researched this enough.
broadcast [ v] and wait
can't do recursion, which is probably why the user said it's harder than lists.
BigNate469
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

TheCreatorOfUnTV wrote:

Za-Chary wrote:

ThisIsTemp1 wrote:

That does makes sense, but now it puzzles me because custom blocks are also complex, so now I am wondering why there isn't just a “Variables & More” section after operators to de-emphasize custom blocks as well, as those are arguably more complex than lists.
Arguably lists are more complex than custom blocks. In its most basic form, a custom block is just the same as a “broadcast and wait” block (which isn't self-explanatory itself). I haven't really done the research as to what is complex or not, though. I trust the Scratch Team has researched this enough.
broadcast [ v] and wait
can't do recursion, which is probably why the user said it's harder than lists.
when I receive [message v]
broadcast [message v] and wait
Actually does work. And unlike it's counterpart that uses just the
broadcast [ v]
block, it doesn't crash the editor.
TheCreatorOfUnTV
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

BigNate469 wrote:

TheCreatorOfUnTV wrote:

Za-Chary wrote:

ThisIsTemp1 wrote:

That does makes sense, but now it puzzles me because custom blocks are also complex, so now I am wondering why there isn't just a “Variables & More” section after operators to de-emphasize custom blocks as well, as those are arguably more complex than lists.
Arguably lists are more complex than custom blocks. In its most basic form, a custom block is just the same as a “broadcast and wait” block (which isn't self-explanatory itself). I haven't really done the research as to what is complex or not, though. I trust the Scratch Team has researched this enough.
broadcast [ v] and wait
can't do recursion, which is probably why the user said it's harder than lists.
when I receive [message v]
broadcast [message v] and wait
Actually does work. And unlike it's counterpart that uses just the
broadcast [ v]
block, it doesn't crash the editor.
I should make things more clear,
when I receive [ee v]
turn cw (15) degrees
broadcast [ee v] and wait
turn ccw (15) degrees
will just do the first thing forever, since broadcasts can't have inputs that tell it when to stop (a list called “stack” is needed to tell it when to stop).

Last edited by TheCreatorOfUnTV (July 24, 2024 01:17:51)

ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

Za-Chary wrote:

ThisIsTemp1 wrote:

That does makes sense, but now it puzzles me because custom blocks are also complex, so now I am wondering why there isn't just a “Variables & More” section after operators to de-emphasize custom blocks as well, as those are arguably more complex than lists.
Arguably lists are more complex than custom blocks. In its most basic form, a custom block is just the same as a “broadcast and wait” block (which isn't self-explanatory itself). I haven't really done the research as to what is complex or not, though. I trust the Scratch Team has researched this enough.

I'll edit the post.
ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

Bump.
DeletedRohizzle
New Scratcher
20 posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

hi im back lol
So I found that in some Scratch mods, lists are a separate category.

Za-Chary wrote:

I assumed that the reason Lists are contained in Variables is because lists are naturally more complex for beginner programmers, so the Scratch Team wanted to de-emphasize their existence by not giving Lists a separate category. I'm not sure if that's true, or if I'm wording that in the best way, but I think I've heard it somewhere before and it makes some sense.
Just like Za-Chary said, lists are usually used for advanced stuff, which makes sense that more advanced Scratch mods put them in a separate category
ThisIsTemp1
Scratcher
1000+ posts

Separation of Lists and Variables(READ THE OP, NOT A DUPLICATE)

DeletedRohizzle wrote:

hi im back lol
So I found that in some Scratch mods, lists are a separate category.

Za-Chary wrote:

I assumed that the reason Lists are contained in Variables is because lists are naturally more complex for beginner programmers, so the Scratch Team wanted to de-emphasize their existence by not giving Lists a separate category. I'm not sure if that's true, or if I'm wording that in the best way, but I think I've heard it somewhere before and it makes some sense.
Just like Za-Chary said, lists are usually used for advanced stuff, which makes sense that more advanced Scratch mods put them in a separate category

Which is why the category only appears when you make a list.

Powered by DjangoBB