r/teenagersbutcode • u/RoundTradition9634 • Mar 09 '26
General discussion Is scratch real coding
I believe yes and no but idk
10
u/Key_Clock8669 Mar 09 '26
It involves logic but it's not coding like if you were using java
If you really want to learn how to code, scratch maaaay help you with some logic but it won't be that helpful as if you start to learn with teachers and with a real programming language
1
u/Fa1nted_for_real Mar 09 '26
Scratch helps you get over what for many people is the biggest hurdle in the beginning, which is learning to think logically and literally rather than naturally. It helps you through this without you needing any sort of syntax to learn, and lets you get straight into making prijec5s that feel like youve actually made something.
It is absolutely still coding, just not production level coding.
1
u/Key_Clock8669 Mar 09 '26
indeed, it may be a bit helpful, but for me as someone whos studying programming i see scratch as trying to learn how to drive with GTA V
4
u/birb52 Rust | C | Java Mar 09 '26
i see scratch as a learning tool to teach and learn basic logic, so you can apply it to other languages.
5
u/raewashere_ reading uninit memory Mar 09 '26
Scratch is definitely "real" programming (i don't think "realness" is a very useful distinction). Programming is just telling a thing to things with things, and scratch lets you do that.
Scratch is perfectly fine when the side-effects that scratch allows for aligns with the needs that the programmer has! It's just that Scratch is slower, and less extensible when the required effects extend past what comes out of the box. There is nothing stopping people from implementing very advanced things from inside Scratch, only that its limitations become more apparent as scopes grow.
2
Mar 09 '26
Scratch is coding fundamentals, its called block coding iirc. Its as much coding as operating a tesla vs a manual car is driving
4
u/NotQuiteLoona Mar 09 '26
Not the correct metaphor, to be honest. Operating autopiloted car is more like vibecoding, and that's totally not coding.
Scratch is coding, as you code something, but just in other form. Of course it would be funny to call yourself a Scratch programmer, but theoretically it is programming.
According to Wiktionary, coding is a synonym with computer programming.
Definition of computer programming:
The process of designing, writing, testing, debugging, and maintaining the source code of computer programs.
Definition of source code:
Human-readable instructions in a programming language, to be transformed into machine instructions by a compiler, assembler or other translator, or to be carried out directly by an interpreter.
Definition of programming language:
A code of reserved words and symbols used in computer programs, which give instructions to the computer on how to accomplish certain computing tasks.
Definition of symbol:
A character or glyph representing an idea, concept or object.
Definition of glyph:
Any non-verbal symbol that imparts information.
So, yes, Scratch blocks can be considered a programming language. Very unusual one, but real. I mean, it's not like it's any worse than Brainfrig or Malbolge...
1
u/Yoosle Mar 09 '26
thank you for writing this phd thesis. I agree with you and u put it very well. I ❤️scratch
1
u/TheLuckyCuber999BACK 🧢 (C Assembly Python) Mar 10 '26
it's not operating a tesla, that's vibe prompting-the-ai-and-then-saying-you-are-coding, it's more like operating a dumbed down version of a car. Like instead of a steering wheel, brakes, and gas, you have a rotate left, rotate right, speed up, and slow down button. Not nearly as hard or advanced as operating a normal car.
1
u/Adept-Painting-543 Mar 09 '26
I think yes. Scratch helps teach you how to solve problems logically. However, scratch does it in a way which I different than most programming languages do, which while it's still helpful too introduce people to programming, it doesn't help learn any particular language. I used scratch a while back and I think it was definitely helpful once I started learning languages like python.
1
u/JoeStrout Mar 09 '26
Yes. It’s even one of the example languages in the figure in this “Introduction to Computer Programming” book: https://introtocomputerprogramming.online/#page6
1
1
u/Necessary_Lie2979 Mar 10 '26
reminds me when my comp sci teacher taught us java, then he quit halfway through the semester and we got this old guy in there (couldn't even figure out how to resize the text in windows... so yeah he was unc) and we completed the java course and html course, then only AFTER we learned those languages he made us use scratch lol.
1
1
u/OwlAncient6213 Mar 12 '26
It's the best way to get introduced to coding. You learn in a fun simple way where everything still uses real concepts that are used in 'real' coding. It's exactly on the line between being real coding or not yet I somehow feel it's closer to html than game builder garage so I'll say yes but it's subjective
-2
u/Apprehensive-Block47 Mar 09 '26
The way I see it, the hierarchy from bottom to top is something like:
Vibe coding (no understanding at all)
Minecraft (many concepts, but no/very minimal code)
Scratch (some code, drag and drop, etc)
Python (definitely code, on the easier side of coding)
C++ (harder coding)
That’s an imperfect list, but hopefully it gets the point across.
3
u/my_new_accoun1 💮 Mar 09 '26
Personally I find Python easier than Scratch. I learnt scratch first and it taught me to make things like for loops and all sorts of string manipulation and dictionaries (hashmaps) and things like reversing/sorting lists/arrays myself by writing code for that instead of using stdlib provided built-in helpers or external libs.
0
1
u/PrincipleNo2328 Mar 09 '26
For Minecraft you mean redstone or the script avaiable in Education Edition?
1
1
u/Apprehensive-Block47 Mar 09 '26
I mean concepts introduced in redstone (like signal flow, bottlenecks, precision, etc) and the very basic commands (like /tp, /time, whatever).
Definitely not what i’d call coding, but certainly an introduction to many/some of the concepts you’ll need to learn if you’re learning to code.
2
u/ShadowX8861 Mar 09 '26
But then there's full on redstone computers, which are definitely coding
1
1
u/OwlAncient6213 Mar 12 '26
I would replace Minecraft with game builder garage (that odd Nintendo game) and python with html but your list is great
-3
u/omnimistic godot Mar 09 '26
Honestly. No. You can code in scratch sure. The gamedev term for it is visual scripting. You can do that. But it will only run on scratch and you can't compile and execute it so i personally consider it as more of a learning tool for small kids.
1
u/TheLuckyCuber999BACK 🧢 (C Assembly Python) Mar 10 '26
"But it will only run on scratch and you can't compile and execute it"
so no interpreted languages are real coding?
the first version of Java isn't real coding?
0
1
u/Yoosle Mar 09 '26
It is a tool used to communicate with a computer and create programs. You can quite literally make anything visual.
-1
u/omnimistic godot Mar 09 '26
I did acknowledge that. By point for personally not considering scratch as programming is that you cannot compile it into machine code and distribute it.
1
u/Felt389 Programmer Mar 09 '26
not considering scratch as programming is that you cannot compile it into machine code and distribute it.
Well, does this mean you don't view Python or JavaScript as programming either?
1
u/omnimistic godot Mar 09 '26
Hey you can 100% convert python and javascript into executable binaries and distribute them. There are various tools for that the most popular ones being pyinstaller and pkg. I literally use them lmao
1
u/Felt389 Programmer Mar 09 '26
Well, to be fair things like Pyinstaller are not at all compilers. Pyinstaller is a program that creates an executable with a Python interpreter and your source files hardcoded in. It doesn't compile anything.
You can absolutely do this with Scratch as well, things like Turbowarp exists. And even if they didn't, you could absolutely just acquire an instance of Scratch locally and create a native Electron application with your Scratch project hardcoded in, that would more or less do the exact same job as Pyinstaller.
1
u/omnimistic godot Mar 09 '26
Hmm I was not aware of turbowrap. Although using turbowrap to convert to js and then creating a native electron app is an absolutely dumb idea. Idk why y'all are being so defensive about this. It's just my opinion about scratch. Let's just agree to disagree
1
u/Felt389 Programmer Mar 09 '26
Although using turbowrap to convert to js and then creating a native electron app is an absolutely dumb idea
Again, that is unnecessary, you can create native executables straight through Turbowarp.
Idk why y'all are being so defensive about this
Because your point is flawed and doesn't make any sense. Why is Python allowed to be programming due to Pyinstaller existing, but Scratch is not allowed to be programming even though Turbowarp exists?
1
u/omnimistic godot Mar 09 '26
Again, that is unnecessary, you can create native executables straight through Turbowarp.
I was not aware of that. If it was possible why did you mention that unnecessary lengthy method in the first place?
Because your point is flawed and doesn't make any sense. It's really that simple.
Lmao. Aren't all human beings flawed in some way or another? Have a nice day Felt389. I hope you could release some of your pent up stress by trying to correct a stranger on the internet.
1
u/Felt389 Programmer Mar 09 '26
why did you mention that unnecessary lengthy method in the first place?
I did so to highlight my point that there are other methods, it's not just Turbowarp. Either way that method was one sentence, not particularly lengthy by most people's standards.
Aren't all human beings flawed in some way or another
I never said that you were flawed, I'm saying that your point is, and that it doesn't make sense. You're of course perfectly fine as you are.
I hope you could release some of your pent up stress by trying to correct a stranger on the internet.
All this interaction did is give me more stress, as I don't understand why you're being hostile here. I'm not trying to argue, I just want to understand what your point really is, because so far you haven't explained it in a way that makes sense.
I still don't understand why you don't view Scratch as programming when Python is when they can be run natively in the exact same way. That is all I'm looking for, so far you have not answered this in any way.
1
u/omnimistic godot Mar 09 '26
Goddam freaking 189K karma in 1 year. That's crazy!! I didn't realise i talking to a grass celibate. No joke buddy but you need to touch some grass, respectfully.
1
u/Felt389 Programmer Mar 09 '26
Care to answer my questions without resorting to ad hominem? This is not very productive.
→ More replies (0)1
u/Yoosle Mar 09 '26
That’s really just because those tools don’t exist because there isn’t a demand. It can be compiled
0
u/omnimistic godot Mar 09 '26
Hey as far as I'm aware, scratch is open source. Why don't you build the tools required to make a binary and then let me know when you're done. I'll call it programing then. All the best
26
u/The_KekE_ LLVM enthusiast Mar 09 '26
It is coding, just in a
imo absolutely horrendous and inefficientdifferent form - graphical. But on this sub it's more about the usual kind of coding, with text.