HACKER Q&A
📣 MarcScott

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 Accepted Answer ✓
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.


👤 dnsge
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/


👤 gumby
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
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

👤 jacknews
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.


👤 Wingy
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.

👤 armchairhacker
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
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.

👤 davely
I’ve only seen it from the sidelines, but our 7 y.o. was introduced to it through an activity with Girl Scouts last year.

We went through a number of lessons via a website (which escapes me right more) and she was really into it. So much so, that we ended up downloading Scratch Junior and let her run free with it.

She uses it to make little interactive stories, with movement, audio recordings and the like. It’s pretty neat!

Now, whether that translates into her having more interest: I’m not sure. Her eyes kind of glaze over when she sees a wall of code on my screen when working from home.

—-

Side note: There is a board game called Robot Turtles that is supposedly good at teaching very basic programming concepts to kiddos, but she has had very little interest in ever playing it.


👤 singhrac
Yes, that's me (mid 20s). I learned using Scratch in middle school, made a lot of tiny games for me and my friends, and then learned Python in high school (with C++ fairly shortly afterwards).

Scratch shields you from learning how data is represented even more than Python, and at that age all I wanted to do was make video games. My first "wow" moment was learning how Scratch platformers changed the "offset" to bring objects into view but didn't actually move my characters left and right.


👤 voc
Yes, I'm 20 now and got started with Scratch in middle school at 11/12 thanks to a teacher. I started taking a deeper interest after making a few games for my friends and classmates - it was really nice being able to take a project home and continue working on it :) Like dnsge, I'll also attribute my interest in programming to Scratch, and also thanks to a really great teacher who encouraged us to explore our ideas. Currently in university doing a computer science degree.

👤 sunday_serif
Scratch wasn’t my first “encounter” per say, but I did write my first non-trivial program with scratch. Everything else before that was just tinkering.

In high school (2010s) I was familiar with programming from the outside in. I remember knowing that Ruby on Rails was a big thing. I had tried to learn ruby a handful of times and got lost in the process. I was super excited about wine because it helped me play boot leg video games on my old MacBook. I liked to try and read about how wine worked, but it was way over my head.

Enter scratch: the first real program I wrote was a scratch game in a high school computer science class called “glub run”! It was a little Mario like side scroller in which a little green blob (the glub) would run along the and try to get little coins.

It was a lot of work to get it all setup, and definitely went way beyond what was expected of us for the class, but I just had so much fun with it! Building a whole interactive 2d world from just a bunch of linear gui code blocks was mind bending to me. To be honest, the block based gui code was more of a hindrance than a help.

That was pretty much the extent of my time with scratch, we quickly moved to using a canned version of Java with some other little GUI attached. To be honest, it took me a long time to write another program of that same complexity as glub run. Maybe it was my magnum opus.

Why was scratch so great: Reflecting on it now, the best advantage of scratch was that there was no setup involved. You just clicked new and were off and going! (This is what I imagine BASIC was back in the day). Every other programming language had way too much fluff around it that made it really hard to get started. You needed a system for managing dependencies, you needed a system for managing versions of the language, then everyone said you needed all these libraries to go with the language. As a beginner, it was a total non-starter. For the longest time, I didn’t understand where the lines were between the language, the framework, and the tooling. Scratch avoided all of that and let you actually just build a program!

So even though I never returned to it, scratch is where the rubber hit the road for me so to speak! First time I had that feeling that I could actually create something novel with software! Been happily programming for the petter part of the last decade since!


👤 omenZa
I started out in Scratch thanks to my father installing it on our family computer for me when I was around 12. This lead to making clones of games like Frets on Fire and such. When I took up IT in high school they then also used it for the first two months.

I think it's a great way (especially for kids) to get into the thinking of building out logic and learning to abstract problems, etc.


👤 carstenhag
I guess it was my first or second programming language, but it was always clear to me that it was a bit silly, and that I should look into something serious as soon as possible. But I always knew I wanted to do something related to software development. My classmates (must have been age 14--16) weren't really interested. Can't blame them, the teacher wasn't really motivated.

👤 c7DJTLrn
2000s kid, I first used something similar to LOGO at school, if you can consider that programming. I initially taught myself programming/scripting by writing Windows batch scripts. Scratch was introduced in my teens at school but by then I was far beyond block programming.

I hated Scratch. I saw it as childish and simplistic. I wanted to play with the big boy stuff.


👤 falsenapkin
I had the privilege and good fortune to introduce a diverse group of highschoolers to Scratch as an intro to programming around 2013/2014, it was a lot of fun! A few of them seemed pretty hooked and were doing some wild things pretty quickly, I imagine at least a couple pursued it further. Reminded me a bit of like ~2005 Flash community.

👤 superchroma
We did a little Cocoa first, and messed about a bit with html, but basically yeah I did. It was pitched as a fun exercise more than a learning opportunity, but we were bored out of our minds in that class and the teacher had little interest in teaching the material, and it seemed to hit very well with students.

👤 Georgelemental
I did, about a decade ago. I remember having lots of fun with it. The block-based approach is nice in that it makes syntax errors impossible. It's easy to see how different pieces can or can't fit together. But one outgrows it relatively quickly, I think.

👤 csb6
Yes, I used it at a summer camp to make games when I was in middle school I think.

I was able to make a 2D platformer with it. Writing the game logic for a small game was not that hard to do in a visual programming language since it was mostly just moving and rotating sprites.


👤 kagakuninja
My first programming book, in 5th grade:

https://archive.org/details/My_Computer_Likes_Me_When_I_Spea...


👤 tmaly
I taught my daughter with Scratch back in 2018.

I have taught it at her school. Think it is miles ahead of how people learned in the past. Kids still get stuck on certain concepts.

For myself, it was basic programming on a green screen typing out line by line in the early 80s.


👤 jgarzon
My brother got me into programming with logo which is like the original turtle. It’s pretty cool. Definitely seared recursion into my mind. And after generating graphics on the cli I felt comfortable to do simple js games

👤 christkv
I started my kids on RPG maker and plan to introduce GameMaker next. Learning programming by making games seems to motivate them more. Los of good YouTube tutorials available too.

👤 xacky
I made games using the various Clickteam tools back in the early 2000s. They even had a flash competitor which I used to put games online.

👤 gavinray
I learned programming through UnrealScript for UE and Lua for SecondLife scripts as a kid, primarily, plus some Visual Basic.

👤 programjames
I was born after 2,000 and my first language was FMS Logo. Then Java and Python. When I learned about Scratch I hated it.

👤 giantg2
C++ for me, but I'm old

👤 thornewolf
24, started with VBA @ 10. Later, Scratch from 11-~14. Python subsequently

👤 xigoi
Yup. I wanted to learn programming as a child, but text-based languages scared me.

👤 eBombzor
My first experience was Java through AP COMPSCI. Born in late 90s.

👤 Utkarsh_Mood
yeah scratch, visual basic and swift playgrounds got me into it. Great for piquing interest, especially being able to see projects others built and interact with them.

👤 cvccvroomvroom
Apple II LOGO.