Hacker News new | ask | show | jobs
by rsweeney21 942 days ago
I've been introducing my 10yr old to Godot. He's been building games in Scratch for the past 6 months. He loves Scratch, but is also frustrated by it's limitations. I thought he'd be happier with a real scripting language.

When we started writing some GDScript he quickly became frustrated by all the typing! His hands are too small to master touch typing. It takes forever to type a variable name + method call + ...

This looks like the perfect balance. Going to check it out!

7 comments

Oh that's such a good point about the typing speed limitation I never would have thought of that for some reason.

I've been doing super light python lessons with my 3yo and I was wondering why we were moving slower than he seemed capable of in terms of understanding what I was saying but you just made me realize how long it was taking him just to type brackets and quotation marks etc.

I like this project and am looking forward to trying it. I'm starting to adopt a "the more the merrier" mentality with kids programming. Might as well expose them to the dynamic of having a bunch of different languages / workflows to choose from.

You are teaching Python to your 3yo son?? I mean, maybe he is a genius but I do really wonder what a 3yo can possibly understand about programming (and you even make him type!)
lol, yeah it's so unclear what they really *understand* at that age other than what color hotwheels car they get if they can write a for loop.
3 y/o can form simple sentences like "dad is playing"

why they can't understand "x = 3"?

Because one is rooted in sensorial life and the other is purely abstract?
the grammar on a language isn't abstract too?

anyway, heheh, Scratch aims to teach basics concepts of programming to children older than 6 y/o; who knows if Python is easier?

edit: typo... coding =/ programming

it doesn't seem like much more of an abstraction than an abstract numeric symbol equalling a certain number of physical objects (ie 3 = * * * )

in my limited experience basic variable use isn't much of a stretch for a 3yo

I mean, at that age, they haven't even really learned basic algebra; they still have to learn things like the order of operations, manual addition and subtraction, and manual multiplication and division.

Don't you remember reading books as a kid with child characters saying things like "I was pretty good at math class until they started introducing letters to the problems; I don't understand it at all anymore!" Things like that show that variables aren't directly intuitive to all children.

I know who dad is. Who is x?
I'm curious, why not get a kids sized keyboard?
I got my kid one for his pi, he liked it. Served him well. But they often seem to have issues with missing symbols needed for basic programming and dysfunctional keys. Also weird key layouts etc.

Anyway they're fingers can handle normal keyboards super quickly, we could have given him a standard keyboard when he was 2 if there had been a reason.

I didn't know there was such a thing. :)

Might need to get him one for christmas.

pretty sure my PET had a chunky black keyboard and the tape drive was separate
that's the one!
You might like Kano's small keyboard, can find them on eBay: https://youtu.be/Z0I-vw6Wc0U?si=U2XV2f0ZB9vvqQnu
This has been my experience as well. I introduced my son to Scratch when he was 8 and now, 2 years later, he's creating quite advanced games in it I wouldn't have thought possible.

But whenever I show him "real" programming languages, he's like: I can do all of that with Scratch as well - without having to type all that stuff.

We tried GameMaker and produced some cool results together, but as soon as I turn around, he's back at his Scratch projects.

Sometimes I wonder if it'd have been better had he started with code right away. Like I did back in the days. ;-)

> But whenever I show him "real" programming languages, he's like: I can do all of that with Scratch as well - without having to type all that stuff.

Dear Hacker:

Your son is already doing things kids four years older would be amazed by.

Let him come to "real" programming on his own.

Heck, show him Snap and let him write programs with call/cc in "Scratch". Maybe you can hook him on interesting visual programming projects that require passing around functions as data (like creating a calculator or a model of a computer).

The manual explains how to write an object-oriented system in Snap, so you're really not going to be holding the kid back if you can get him in that way.

The iterated function systems also look cool and can be approached that way. The Beauty and Joy of Computing curriculum has a decently broad and intellectually challenging selection of project that can be done in Snap.

EDIT: I believe Snap can make calls to REST interfaces; you could write the back end and he could do the front end calls and use the data.

I worked on Scratch for 6 years, in charge of the online community. We often encountered adult programmers who were surprised by what was possible in terms of complex projects with Scratch. There was usually a great deal of concern about how the transition to "real" (text based) programming languages would go. It always seemed strange to me, this attachment to text based programming as the only "true" "real" etc. programming. At any rate, I saw quite a few kids make that transition without any problems. I've still never seen any systematic evidence that moving from tiles to text presents significant difficulty, and yet so much energy is devoted to "solving" this problem.
I believe we're all deformed (sometimes disfigured) victims of our own struggle. I'd listen to the kid instead and asked what's wrong with me, looking at the imposed complexity I deal with, with no one among healthy people to understand the matter, dare I to complain.
This was my experience getting into programming as a kid. I just wanted to make things and the games I made in Scratch were cooler than printing to the console in C++ (especially as a slow typer).

I eventually learned html/css which let me build real websites and see them in my browser. At some point you hit a wall with what you can make and are forced to learn js/php/python/etc.

honestly I think a 3yo is capable of learning bash before python if you put it in between them and paw patrol (or whatever they're into, for mine its beastie boys music videos currently... sigh)
Limitation-wise I felt that it's not obvious to the kid what to do in Scratch to manage complexity - what to do when the program becomes "too big".

And just pointing out the problem and asking what could be done helped get them on track to think about the issue and ... find several ways that Scratch does allow. Splitting a program into multiple objects / agents for example.

Scratch is way more powerful than first glance or first programs hint at.

GDScript is a surprisingly good language. Better than Python in many ways (e.g. it has `var` and `const`).
http://its-not-its.info Old enough to have a 10 years old child but still doesn't know English
Have you considered a netbook? Small keyboard :)