Discuss Scratch

KidAriel
Scratcher
56 posts

Learn JAVA CODE Suggestion

My awesome suggestion is 2 teach kids REAL coding is to have a a mode where you can look inside the blocks themselves to see the actual Java code used to make that block code. Or at least have a feature where you can convert your block ode into a Java code printout. That way the kid can learn Java or even HTML, just like one of the lessons on Tynker dot-com.] pls STICKY and LIKE this.

Last edited by KidAriel (Nov. 2, 2018 22:51:12)

Flowermanvista
Scratcher
1000+ posts

Learn JAVA CODE Suggestion

If you want to learn Java or HTML, go to a website that teaches you Java or HTML. Scratch is meant to teach you Scratch and some basic programming concepts, and nothing more.
Shelleyscratch
Scratcher
1 post

Learn JAVA CODE Suggestion

I have a related idea of perhaps creating something of a hybrid between Scratch and Python where when it comes to the point where there are things not easily done in blocks, you can convert your blocks to Python code and then refine. Unlike with the blocks at Trinket, you would keep much of what is good about Scratch even when going totally over to text in that you would still have the object oriented quality of it. HyperCard was like this with buttons serving sort of the role of sprites, but they were still coded with text. To do this properly would be a bigger project than they would want to do for the standard version 3, but could it be some kind of later or alternative version, perhaps an advanced or transition Scratch.

While I’m speaking of HyperCard, one other thing on my wish list would be invisible sprites that could still be clicked, allowing the ability to have hot spots on the stage to click without needing to code in the coordinates of their boundaries.
KidAriel
Scratcher
56 posts

Learn JAVA CODE Suggestion

Shelleyscratch wrote:

I have a related idea of perhaps creating something of a hybrid between Scratch and Python where when it comes to the point where there are things not easily done in blocks, you can convert your blocks to Python code and then refine. Unlike with the blocks at Trinket, you would keep much of what is good about Scratch even when going totally over to text in that you would still have the object oriented quality of it. HyperCard was like this with buttons serving sort of the role of sprites, but they were still coded with text. To do this properly would be a bigger project than they would want to do for the standard version 3, but could it be some kind of later or alternative version, perhaps an advanced or transition Scratch.

While I’m speaking of HyperCard, one other thing on my wish list would be invisible sprites that could still be clicked, allowing the ability to have hot spots on the stage to click without needing to code in the coordinates of their boundaries.
That's a good idea!!! Scratch should do something like that one day!!!

Last edited by KidAriel (Nov. 2, 2018 22:54:02)

KidAriel
Scratcher
56 posts

Learn JAVA CODE Suggestion

Flowermanvista wrote:

If you want to learn Java or HTML, go to a website that teaches you Java or HTML. Scratch is meant to teach you Scratch and some basic programming concepts, and nothing more.
Your comment is very negative. If everything stayed the same there would be no evolution or innovation. Like I said, it's already been done on TYNKER.COM!
Also, first of all, it would've been easier if you simply just converted the blocks INTO Java. Going to a site to learn Java would've tooken longer. Simply converting it would've been a lot simpler, easier, and quicker to learn.

Last edited by KidAriel (Nov. 2, 2018 22:50:48)

badatprogrammingibe
Scratcher
500+ posts

Learn JAVA CODE Suggestion

No support out of principle.
Za-Chary
Scratcher
1000+ posts

Learn JAVA CODE Suggestion

No support, for a similar reason as @badatprogrammingibe.

Scratch is everyone's “first programming language”. The reason it uses blocks is to get kids to gain an intuitive sense of how programming works. Although I enjoy Java as a programming language, typing out your code is simply not as intuitive as blocks.

Flowermanvista wrote:

If you want to learn Java or HTML, go to a website that teaches you Java or HTML. Scratch is meant to teach you Scratch and some basic programming concepts, and nothing more.
This is also my viewpoint. I don't think this comment is negative at all. Scratch is a programming language in itself. This suggestion is like saying that those who code in Python should have the option to convert their code to C++, so they can learn C++. It's confusing, and doesn't quite make sense. The only way to do this is to actually learn C++.

KidAriel wrote:

Also, first of all, it would've been easier if you simply just converted the blocks INTO Java. Going to a site to learn Java would've tooken longer. Simply converting it would've been a lot simpler, easier, and quicker to learn.
I disagree with this. Although it takes time to learn a new text-based programming language, converting it to Java wouldn't make it any easier. For example, how would it convert the following block?

ask [What is your name?] and wait

In Java, to obtain some sort of input, you need to “import java.util.Scanner”. Then you must create a scanner object. Then you must have the program scan through the answer. And it would create a new variable. On top of that, you need a “main” function. Essentially, here's the simplest Java code I can find for this block:

import java.util.Scanner;
public static void main(String[] args) 
{
     Scanner scan = new Scanner(System.in);
     System.out.println("What is your name?");
     String answer = scan.nextLine();
}
I'll be honest, I don't think this code would be easy to learn. There are 4 things to be done just to have the user input something and have the program read it. It is definitely not intuitive, and I would argue that the only way you'd be able to understand this is if you look up every single part of the code. But by that point, you're already looking up on another website how to learn Java.

Furthermore, I don't know if Java could easy handle graphic interfaces like Scratch does. Of course, I am a bit inexperienced with this, so I'm not quite sure myself.

In conclusion, converting Scratch blocks to Java is just not practical, and you're better off learning the language itself, elsewhere.
Austinato
Scratcher
1000+ posts

Learn JAVA CODE Suggestion

What I'm about to say may not be constructive, but I believe a topic suggesting this exists.
KidAriel
Scratcher
56 posts

Learn JAVA CODE Suggestion

Za-Chary wrote:

Scratch is everyone's “first programming language”. The reason it uses blocks is to get kids to gain an intuitive sense of how programming works.
It's one purpose, but I scratch because when I grow up, I want to code. not because I just want to get the hang of how it works. Last year, I was at school in a coding club. There were no rules. Everyone was doing blocks, while I did actual coding on another coding site. Everyone else was arguing that it wasn't coding. It was. So, they don't want you to understand how coding altogether works, they only want you to understand how block coding works. I assume they never heard of Java/HTML/C++ etc before. So I assume Scratch wasn't built for that. Yes it is their “first programming language”, but it was never made for you to ever know about Java/HTML/C++ etc, they only just want you to know about blocks.

Za-Chary wrote:

Flowermanvista wrote:

If you want to learn Java or HTML, go to a website that teaches you Java or HTML. Scratch is meant to teach you Scratch and some basic programming concepts, and nothing more.
This is also my viewpoint. I don't think this comment is negative at all. Scratch is a programming language in itself.
I agree. I don't think his comment was negative at all. My friend shares the same account, and she thinks it's negative. I disagree with her, while I agree with you. Also, she suggested the Java conversion. I agreed with that. She also started this discussion.

Za-Chary wrote:

This suggestion is like saying that those who code in Python should have the option to convert their code to C++, so they can learn C++. It's confusing, and doesn't quite make sense. The only way to do this is to actually learn C++. I'll be honest, I don't think this code would be easy to learn. There are 4 things to be done just to have the user input something and have the program read it. It is definitely not intuitive, and I would argue that the only way you'd be able to understand this is if you look up every single part of the code. But by that point, you're already looking up on another website how to learn Java. In conclusion, converting Scratch blocks to Java is just not practical, and you're better off learning the language itself, elsewhere.
Well, I wanted for them to make it make sense. For example, it totally doesn't translate to Java, but it makes the blocks look like Java blocks. …What are the 4 things anyways? XD

Za-Chary wrote:

Although I enjoy Java as a programming language, typing out your code is simply not as intuitive as blocks.
…but then you change your mind.

Za-Chary wrote:

KidAriel wrote:

Also, first of all, it would've been easier if you simply just converted the blocks INTO Java. Going to a site to learn Java would've tooken longer. Simply converting it would've been a lot simpler, easier, and quicker to learn.
I disagree with this. Although it takes time to learn a new text-based programming language, converting it to Java wouldn't make it any easier. For example, how would it convert the following block?

ask [What is your name?] and wait

In Java, to obtain some sort of input, you need to “import java.util.Scanner”. Then you must create a scanner object. Then you must have the program scan through the answer. And it would create a new variable. On top of that, you need a “main” function. Essentially, here's the simplest Java code I can find for this block:

import java.util.Scanner;
public static void main(String[] args) 
{
     Scanner scan = new Scanner(System.in);
     System.out.println("What is your name?");
     String answer = scan.nextLine();
}
…wait a sec…

Za-Chary wrote:

Of course, I am a bit inexperienced with this, so I'm not quite sure myself.
…..nvm. XD

Za-Chary wrote:

For example, how would it convert the following block?

ask [What is your name?] and wait
I can explain. You can recreate certain blocks by using other blocks. You can turn this,

ask [idk....Do you play BBIEAL? XD] and wait

into this. (see this wiki page for more info.) Now, try converting that other script into Java.

So, you may be right or not about this whole argument. It's just more less a way of copy and paste to embed it, not necessarily a way to learn. She sees it as a way to learn. When I did the JavaScript thing on Tynker, it seemed like copy paste too. But I still think they can still find a way for it to make sense, and still be able to convert it. I agree and disagree at the same time. This took a while to write. Whew.
KidAriel
Scratcher
56 posts

Learn JAVA CODE Suggestion

Austinato wrote:

What I'm about to say may not be constructive, but I believe a topic suggesting this exists.
…Well, there is. Yup.
StrangeMagic32
Scratcher
1000+ posts

Learn JAVA CODE Suggestion

Support, to some people this may be their first programming language, but it doesn't quite teach all that it could.

Za-Chary wrote:

For example, how would it convert the following block?
ask [What is your name?] and wait
I agree that some things may be harder to convert, but at it's core Scratch and JavaScript are both kinda simple languages (now I haven't dabbled much in the dark arts of JS, so I may be wrong on some things…). If it was able to be converted then it would be easier to actually get into web development, computer programming, or game development. Now I don't think that this site should be a combination of every coding language, but maybe we can actually have a setting that enables and disables a console of some sort for you to input JS, Python, C++, or Html. There could be an option in the account settings for the console to be enabled on projects, but then you can have another setting in the project editor to disable it for that session of the editor, and if you input the code for a block incorrectly then you would receive an Undefined Block, or it would just be red like this.
if <> then{
say [boo]
}end ::red
I know that this wouldn't be perfect and would have some issues that could pop up, yet I still think that this is a brilliant idea.

Powered by DjangoBB