Readit News logoReadit News
Posted by u/MarcScott 2 years ago
Ask HN: Did any of you first encounter programming through Scratch?
I'm old enough that my first encounter with programming was though BBC BASIC and LOGO. I'd be interested how many of today's younger programmers had their first experience in coding while using a block based language, and what they're experience was like.
BrandoElFollito · 2 years ago
This is part of the curriculum in France so anyone who is today around 20 would have started with Scratch.

I do not think this left lasting traces in pupils' minds.

Then in high school they are taught Python the worst possible way. Similar on how they teach math or physics.

I love my country but how scientific classes are taught is terrible. There is a sadistic obsession with math (this reminds me the way ducks are fed for foie gras) where they teach completely useless stuff (to a point you cannot imagine) born in the minds of tortured 70 years old ministers.

Physics is the same - "how to choose the worse topics to make you hate physics" was on the bedstand of the ones who invented the curriculum.

My son once told me "dad, I do not know how people whose parents cannot explain this stuff manage to go though". This were the words of a top student of a top HS in France. You can imagine how it is elsewhere.

sgu999 · 2 years ago
> My son once told me "dad, I do not know how people whose parents cannot explain this stuff manage to go though". This were the words of a top student of a top HS in France. You can imagine how it is elsewhere.

I'm a bit late to that conversation... If you son was a top student I imagine you managed to keep him interested in spite of the mediocrity of the curriculum? How involved were you during their homework etc.?

I expect average kids with educated and involved parents to succeed anyway in our system, but I'm wondering how bad it has become in the past 20 years. All these reforms and changes of curriculum don't seem to good every time I hear about them.

BrandoElFollito · 2 years ago
> If you son was a top student I imagine you managed to keep him interested in spite of the mediocrity of the curriculum? How involved were you during their homework etc.?

> I expect average kids with educated and involved parents to succeed anyway in our system, but I'm wondering how bad it has become in the past 20 years. All these reforms and changes of curriculum don't seem to good every time I hear about them.

The exact case (but the others were similar) was when they were introduced to derivatives in math. The chapter starts by a horribly convoluted definition (even for someone who has a PhD in physics like myself) and the class was lost. Again this is the star class of a top-top-tier high school.

I started with examples from physics that naturally brought the concept of derivative and we ended up with the definition. From that point it was easy to get back to the theoretical math track.

France has a terrible way of teaching science (except for biology). There is a several generations old obsession about mathematics in its purest form. The more abstract, the more orgasmic it looks to the ones who create the curriculum.

There is exactly zero use of this kind of math afterwards - you have engineers who have a hard time approximating (and were taught to not do it because it is not sufficiently precise) or economics students who do not understand the statistics they were force fed.

I hire quite a lot of these and the general feeling is that the school does not matter anymore (the other obsession in France: the Grandes Ecoles - top schools which are supposed to give birth to geniuses) and that the people who did things on their own are way way more interesting for companies than the ones who have a specific diploma.

Just so this does not sound like whining: I myself graduated from such a top school so I am shiitng my own bed somehow.

Finally, a lot of the science taught at school is just boring.

Take the first year of "specialized" physics (2nd year of high school). Exactly everything in the curriculum is made boring or nonsensical. You teach students what are electronics layers (s1, 2s, 2p, ...) but when they ask about details the answer is "nah, you will understand this in your 2nd year of university".

How come someone did not decide to teach mechanics?? This is not only something everyone can relate to, but also perfectly fits with the math curriculum and allows for very interesting and advanced exercises. No - better tell them "Schrodinger equation" and move forward.

I am really mad against this: not only it pushes away young people from science (boring, difficult, ...) but also avoid teaching the important things everyday people will encounter: what a kWh is on their electricity bill, how compound interest works, ... But hey, they will know that the 2p layer follows the 2s one and that homothety is an endormorphism.

dnsge · 2 years ago
I'm 20 now and got started programming with Scratch sometime before I was 10... don't remember exactly when. I completely attribute it to my interest in programming and is the reason I'm now in school completing a computer science degree.

You can actually go into surprising depth with Scratch. For example, I wrote multiplayer game engines using cloud variables to store player position, chat, etc and let people play together live. People have written 3D platforming engines using the "pen" feature, which is like a Python turtle. Hanging out on the "Advanced Topics" forum lead me to hacking with JavaScript and Python, at first to interact with Scratch and then onto bigger things outside of Scratch.

I think that Scratch is really great, if you couldn't tell from my description. Not only is it easy for a kid to get started with a drag-and-drop interface, but you can do so much. It also has a supportive community and it's easy to make friends and collaborate on projects together.

If you want to see Scratch truly at its limits, take a look around Griffpatch's profile: https://scratch.mit.edu/users/griffpatch/

rahimnathwani · 2 years ago
I'm curious how you got started and got hooked?

My son (7yo) likes 'Scratch Jr' (iPad app) but he's mainly using it like a drawing app. He likes to create characters and then animate them a bit. He's not using any of the more advanced features like making one character moved when bumped by another.

I'd like to think he'd enjoy Scratch, but I'm not sure how to introduce it to him in a way that he might find interesting.

Do you recall what the first few things you did were?

dnsge · 2 years ago
Truthfully, I can't remember what my first projects looked like. I started, I created projects using the downloadable Scratch 1.4 application and didn't begin uploading projects to the public website until I was (apparently) already doing complicated things.

Going back to look at my first uploaded project on my first account, I implemented a "programing language" [sic]: https://scratch.mit.edu/projects/10165000/ which is obviously not a beginner's project.

However, what I expect inspired me to create this project and keep creating was exploring the public projects that other users were uploading. For example, scrolling through my projects, I see several "Operating System" simulators that were inspired by others (operating systems were all the rage on Scratch).

Because you can "See Inside" every public Scratch project, it's easy to see something you like (e.g. a game, an animation) and make your own while heavily borrowing ideas and code from others. I was fortunate that my parents allowed me mostly-unrestricted access to a desktop computer where I was able to explore and create on my own.

daveloyall · 2 years ago
dnsge, would you be willing to help me carry out some research? Could you please explain in your own words, that is, without doing any searches, what a cloud variable is?

I'm 40, and I started on Commodore Basic, but my son is 11, and he started on Scratch. I'm curious where this will go. :)

dnsge · 2 years ago
Sure: a cloud variable is like a normal variable, but its value is replicated to all people using the project. Perhaps important context for Scratch variables: all variables are global in Scratch.

If person A uses the project and modifies the cloud variable, person B also using the project at the same time will see the new value update in real time.

Related tidbit about cloud variables: When I was on Scratch, there was no effective limit to the size of data stored in the cloud variable (though you were restricted to <= 10 cloud variables per project). Assign a letter to a two-digit number, a -> "01", concatenate the digits for each letter, and store the number into a cloud variable, and you get a simple encoding/decoding scheme for communicating between players in a game.

When enough projects that (ab)used cloud variables for intensive applications like multiplayer came around, I believe that the Scratch Team restricted the amount of data each can store. This change happened as I was no longer using Scratch much, though, so I can't speak much about it.

gumby · 2 years ago
My son used it and now likes (and works in) Java.

My gf’s two kids were introduced to programming with Scratch. One was utterly frustrated and gave up on it after the course. The other liked the idea of programming and is now taking a Java based class in school.

There’s some hope that the last kid won’t like Java and may be willing to switch to something better, else it’s 0/3 in my opinion.

ProfessorZoom · 2 years ago
I believe Minecraft redstone is what first got me into programming, if you don't find that sufficient then Minecraft also got me into Googling how to make a website with HTML/CSS (little me had no clue I needed JS), and eventually trying to make my own Minecraft (and other video games) in Unity using C#. I really owe Minecraft my career haha
bormaj · 2 years ago
Redstone circuitry never quite clicked for me, but it was setting up mods in the earlier Minecraft versions that really got me into tinkering with software
jacknews · 2 years ago
I have taught all my kids some programming using Scratch (then lua, python, C#, Janet, ...).

Scratch is great as a first introduction because it lets kids get something working almost immediately. From there, they mostly self-motivate.

One big issue I have is with Scratch's 'deliberate, because, pedagogy' limitations with the language.

I find there's a big gap to jump between just tinkering around with moving things around, playing sounds, very simple games (catch the falling apple etc), and getting into 'real' programming.

IMHO, as an example, the fact blocks cannot return values (functions are such a fundamental concept in programming) is inexcusable. And there are just so many hacks required to work around other features or lack-of-features. Eg, adding parameters to messages and maybe clones, would clear up whole areas that currently need complex hackery.

For the really motivated/talented, most of these limitations can be overcome, but they're an unnecessary barrier for everyone else, and kind of lead to a 'haves' and 'have-nots' split.

Fire-Dragon-DoL · 2 years ago
Maybe rpg maker? That's the one that hooked me, but i was 12
Wingy · 2 years ago
I’m 18 now and I got started with Scratch when I was 8. It teaches you to think logically without requiring you to learn about editors, the command line, interpreters/compilers, syntax, libraries, or the file system. As an eight-year-old I understood some but not much of that. The ability to open Scratch and create 2d games or other programs is probably why I’m successful today.
rahimnathwani · 2 years ago
I'm curious if you remember the first couple of things you saw in Scratch, or what made you think it was cool?

I remember the first computer program I saw was something that printed 'hello' in a continuously-scrolling zig zag pattern on the screen. It was just two FOR loops in BASIC. Something like this:

      10 REPEAT
      20 FOR x = 1 TO 10
      30 PRINT TAB(x,1);"hello"
      60 NEXT x
      70 FOR x = 10 TO 1 STEP -1
      80 PRINT TAB(x,1);"hello"
     110 NEXT x
     120 UNTIL FALSE
That wowed me, and made me want to learn more. I'm not sure what the equivalent would be for a kid that's grown up with an iPad and other devices.

Wingy · 2 years ago
I created a beach scene with a bunch of animals that would either say something or tween to another location on screen and back or both. One of the animals would ask what your name was and then repeat it back to you.

I don’t remember any programs I saw before I got started.

armchairhacker · 2 years ago
Yes.

My second language was python. But I just wanted to make cool games, and Python’s graphics were too low-level and verbose (compared to Scratch at least where you get a canvas with 0 code), so I wrote much more in Scratch until later on (my third language was Objective-C and a big part of that was Interface Builder, so I also had “graphics-for-free” there more or less)

redog · 2 years ago
Logo, with the turtle, was my academic intro to programming. I already knew some basic by that time because my mom had bought me a book titled "Kids and the Commadore" IIRC. I tried scratch once when I was like 30 and thought hmm, minecraft and garys mod are more interesting.