Advice needed, son wants to learn how to program

foofiepie@lemmy.world to Programming@programming.dev – 179 points –

Hi all,

My 8 year old is asking if he can learn how to program. He has asked specifically if I could set him up with a ‘programming kit with lessons’ for a Christmas present. I’d like to support this, and it seems like it’s not a transient interest as he’s been all over scratch, and using things like minecraft commands for the last year. I have an old (pre 2017) MacBook Air I can set up for this. How do I / what would you advise I set up for him, to a) keep him safe online (he’s 8!) and b) give him the tools he needs in a structured way.

I am not a programmer. I know enough bash/shell and basic unix stuff to be dangerous and I was a front end dev a very long time ago, but I wouldn’t call myself a programmer and don’t know what concepts he needs to learn first.

Hugely appreciate any advice, thanks.

Edit: So I posted this then had a busy family day and came back to so many comments! I will methodically go through these all, thanks so much.

A couple of things on resources: he has expressed interest in 3D worlds and I noticed comments on engines, but wonder if that’s too advanced?

Totally agree with the short feedback loop rather than projects that take days.

He has an iPad 6 and I’m happy to pop a Linux distro on the Air, so certainly open to that.

So many links to research. Hugely grateful.

74

You are viewing a single comment

I can recommend PICO-8, if you have access to any windows/osx/linux computer.

It's a "fantasy console", a self contained gamedev environment that emulates an 8bit retro console (while using Lua, a popular and modern language), is super user friendly, and allows you to get a satisfying and fast feedback loop when learning to code.

There are many resources to learn it and a lively community

Pico 8 is super frustrating at times. I wish they'd make a program to be a "Pico 8 dev kit" that has a larger resolution so the IDE is more readable. The IDE being so hard to work with makes me want to use a proper text editor but there are downsides with that too. It could keep the game's resolution the same and only have a larger resolution for the IDE so the specs don't change.

I agree with the resolution, and I (almost) never use the built-in code editor.

Most of the time I have a folder per game, with a somegame.p8 whose only code is #include main.p8.lua (+ other includes if needed), and the code itself is inside main.p8.lua. Since the code is cleanly separated from the other assets, I don't risk overwriting one with the other while juggling between my IDE and pico8

This! But I also suggest Tic80 as a really nice free and open source alternative of Pico-8.

https://tic80.com

Actually I prefer to develop in TIC-80, but the community is way smaller, and TIC-80 games can't be played on phones without a keyboard. It's not a 1:1 alternative, tho I'm glad it exists.