Ask HN: How can I make a “kid's computer” today as good as an Apple II?

252 points by qq66 ↗ HN
When I was a kid, I had an Apple II with a BASIC interpreter, Print Shop Pro to make really cool cards and banners, Where in the World is Carmen Sandiego to learn about geography, Pinball Construction Set, Number Munchers, Oregon Trail, and LOGO for programming the turtle.

Today I can't see a way of giving my kids a computer like that, where there are a lot of open-ended ways to create. The iPad games are too directly educational, or mindless, and great creative experiences don't seem available on desktop or iPad suitable for early elementary schoolers.

Any suggestions here? I will be happy to pay $.

243 comments

[ 0.24 ms ] story [ 170 ms ] thread
Recommend you look at something like the Raspberry Pi 400:

https://www.raspberrypi.com/products/raspberry-pi-400-unit/

These are about USD100 a pop and need a HDMI screen and you're all set.

And then configure it to run a Basic or Python REPL on boot, to give that 1970s home PC feel.

I get this same sense. I really want to need an RPi 400 out of nostalgia. My original machine was an Atari 400. It's not much to justify, but I can't think of what I'd actually do with it, other than put it on a shelf like a hipster.

I think the closest recreated retro-experience is the Commander X16[0]. The thing I like about it is that it specifically isn't a modern computer. Everything is simple right in the hardware. Other choices are often capable of running a full Linux but then used to run a script or emulator. There's definitely the realistic possibility of getting to fully know your machine, especially given that there's extensive documentation and a community.

Here's some hardware specs from c64-wiki[1] and it 'boots to basic'

    CPU: WDC 65C02S, a static descendant of the 6502
    Speed: 8MHz
    Video: The VERA module generates VGA (and other formats)
           tile and bitmap modes; 128 sprites; 128K video RAM;
           palette with 256 colors selected from a total range of 4096
    Sound: Yamaha YM2151 sound chip.
           16-channel stereo Programmable Sound Generator
           PCM audio playback up to 48kHz 16-bit stereo
    RAM: 40K "low" or "BASIC" RAM
         An additional 512K SRAM (expandable to 2MB) in 8K banks
    ROM: Banked in 16K groups; contains an upgraded Commodore KERNAL,
         DOS functions and a 16 bit ABI, and an upgraded BASIC 2.0
    Media: An on-board SD card with native FAT32 support
    Outputs: Two SNES controller ports, plus two additional SNES port headers
             PS/2 keyboard and mouse. VGA. Stereo audio. I2C bus
    Inputs: SD; four expansion slots with access to the CPU databus;
            IEC port; SNES ports; I2C bus
    Operating System: Commodore KERNAL and BASIC
    Battery-backed Microchip MCP7940N real-time-clock chip
    Form Factor: Micro-ATX
[0] https://www.commanderx16.com

[1] https://www.c64-wiki.com/wiki/Commander_X16#Hardware_specifi...

At this point I think it is questionable whether the X16 will ever come out. There have been a lot of technical and supply issues, a lot of scope creep and drama in the community and there seems to have been no real significant progress updates in a long time.

An alternative that is finished and can be pre-ordered today is the MEGA65:

https://mega65.org/

I don't necessarily think a kid would be interested in a glorified recreation of the Commodore 65, but it's roughly equivalent to the X16 in a lot of ways. Just thought I'd mention it.

I have faith in David Murray. He's got a good track record of pushing things through and seeing them to the end.
The hardware is the easy part. It's the software that's the tricky part. That Apple II software was something a 5 year old could have fun with, which a REPL would be hard to do. It had enough rails to be usable but enough user input to be creative.
If it's just software, you could always cheat; Apple II emulators exist - you could have exactly that, if you want. (Granted, with worse boot time and hardware integration)
An Apple II emulator is an interesting approach. Would something like LinApple [1] work or are there other options out there that could work better?

[1]: https://github.com/linappleii/linapple

Virtual II[0] is paid software and requires a Mac, but it’s probably the best. One of the neat things about sticking with the Apple II is the community that still organizes around it at KansasFest[1].

[0] http://virtualii.com/ [1] https://www.kansasfest.org/

Second the suggestion of a raspberry pi.

The book getting started with raspberry pi was the best introduction to computing I’ve ever seen.

>The book getting started with raspberry pi was the best introduction to computing I’ve ever seen.

I just wanted to second this comment. I was skeptical that the book included with the Raspberry Pi 400 kit would be good or useful, but it is amazing. If anyone remembers the old Usborne introduction to computing/electronics/programming books, it feels a lot like those in some ways. If I was nine years old again and got that book, I'd probably be buried in it for weeks, trying out all the different projects.

The Raspberry Pi foundation also published a book on game development, which is also very much like a lot of the old Usborne books. Really great for kids who are a little older.

I also think the raspberry pi 400 is your best bet right now. It has that feeling of being an 80’s computer, but it boots to a modern graphical desktop with lots of open source educational software that they can do explore freely.

If you want your kids to dip their toe into the field of programming, show them around scratch for 10 minutes and let them explore on their own. Set them up with a scratch account and they can work on their projects on any computer with web access. My 10yo started with scratch a few years ago and is now starting to learn javascript. The real challenge to getting them into this stuff is the lack of boredom. Kids have so many options to keep themselves entertained nowadays that they tend to not be bored long enough to start tinkering.

I bought one of these for my kid. He’s not quite old enough for it yet. Key challenge: what software do I put on it?

My main ideas are:

(1) touch typing instruction game

(2) some way to interact with a very controlled group of people… maybe a mastodon or matrix server I run in the homelab and limit to our immediate friends.

Apple IIs are still out there. Just takes $s to get the equipment.
I think the problem here is that the world has moved on a lot since some of us kids were amazed at what we could make machines like an AppleII do with basic (and assembler and peek and poke).

I remember being amazingly proud of myself for getting an ascii version of Space Invaders working. I could, as a 10 or 12 year old, make something for myself that kinda looked like and was way more fun (for me) to play that _literally_ the most desirable and sophisticated "computer game" there was at the time.

I talk to a friend's 11 year old occasionally about "computer stuff", and he plays Fortnight and Roblox - and he just can't see a connection between simple child oriented computer programming, and Fortnight, which is what he would rather be playing than futzing around in Scratch (or even Minecraft).

I genuinely don't think many kids these days want t6o spend time playing with there LOGO Turtle, when they could be playing multiplayer games on their phone or iPad instead.

(And, to be fair, _most_ of the kids when I was in school just wanted to play Space Invader clones and not write Basic programs, I did most of my Basic programming in junior high on a BBC Micro, because there were not games on pirated floppy disks, which was what the AppleIIs were all in demand for. I suspect today it'll still only be a half dozen or so kids out of a school of 6 or 800 who _want_ to program computers, same as it was in '79 and '80. The rest of them will just want to play games not learn how to do magic...)

If you wanna give your kids the opportunity, I s3econd cons's suggestion of a RaspberryPi400. Add a spare HDMI monitor and you're got "the spiritual equivalent" of an AppleII. Don't get your hopes up _too_ high about your kids being the maybe 1% of people who choose to program for fun.

I have actually never thought of it like this, excellent answer!
I agree with this post. Most of the young 6-12 year olds out there aren't going to be really interested in a terminal/basic interpreter. A lot of what that audience wants to do is build mods for the games they play. Minecraft, fortnite, etc. and the like. But programming for these games is a bit more involved than regular programming obviously. I suggest getting them a computer that is capable of playing the game they like and helping them setup the environment for making mods (this is probably something young adults can do on their own but definitely not 6-12 year olds with little experience/patience). And, I think being there as the one learning it with them and understanding what is needed is going to help. I would highly suggest purchasing a book centered on minecraft modding or the like (they seem to be really popular at least the bookstore near me), as this will give you the knowledge to help your child(ren) make mods. I suggest the favorite game modding because it is something both the child and their friends will actually appreciate/use/play with.
minecraft modding is doable with some help. obviously more complex than writing some little BASIC program from scratch since you're hooking into existing things that are at times not ideally documented but it's a lot more feasible than trying to teach your kid unity, probably
There are plenty of tutorials available out there, with some geared toward kids with no programming experience. My older son went through a class (can't remember which one...it was at least six years ago) that did a very nice job of making basic Minecraft mods very accessible, while still introducing programming topics.
plus it's java, so it's something they can actually carry on to use in the future, rather than some proprietary custom script language with wildly different syntax than anything else. it's even got strict typing!
the minecraft modding experience on the raspberry pi my pre-teen has is dead simple to get working, with a quick code-observe loop, but then there's a gap moving to java mods on the PC, which is much more involved
Modding is actually an excellent catalyst to begin the programming path or other similar paths... Great suggestion!
Agreed with modding. In the early aughts my dad encouraged me to learn basic but I was more into playing games and I didn’t see the connection to basic which seemed to me to be mostly about printing text.

But at some point, my favorite game involved a scriptable server engine, and nothing brought me joy like updating the game that I had poured hundreds of hours into, with a simple line of text.

After that I went back to mainstream games like WoW and didn’t do anything like programming again until college (minus an attempt at AP computer science which I dropped because it was boring)

> Don't get your hopes up _too_ high about your kids being the maybe 1% of people who choose to program for fun.

Programming is mostly plumbing anyway, so if your kid chooses differently, that's very ok.

I sometimes think of it as interior decorating. I do a lot of frontend though.
> And, to be fair, _most_ of the kids when I was in school just wanted to play Space Invader clones and not write Basic programs.

Exactly. When I was a teenager in the 80's the kids in school came in three classes: the majority who did not know what computers were or thought they were lame, a minority who dabbled in the nascent gaming scene and an even smaller minority (of maybe 5 people in a school of 1500) that was interested in programming a computer. I happened to be part of the latter minority.

The gamers were all about getting the newest (cracked) games as quickly as possible. Meanwhile we were cutting our teeth on the internals of the c64. While we were lousy gamers with zero connections, we had a certain amount of respect in the gamer community because we were actually capable of programming the intro's to their cracked games. In return we got to feed on their scraps, so there was a living in that. :-)

Are you aware of Nintendo Game Builder Garage? [1,2]

My youngest daughter was begging me to get this for her when it came out. She spent ages in earlier years trying to figure out doing stuff with the MIT Scratch offline editor. She's not super keen on text-based programming yet (my elder daughter is and solidly resists my typed FP propaganda in favour of hand-typed OO programming), but these kind of visual programming environments do teach real agent-based algorithmic concepts.

I'm not saying your advice isn't better than something along these lines, but it's good to be flexible in terms of what advice you offer and be encouraging rather than prescriptive.

[1]: https://www.nintendo.com/games/detail/game-builder-garage-sw...

[2]: https://news.ycombinator.com/item?id=27058300

I'm vicariously proud of your children :)

Out of curiosity, how old are they, and when did you start them on programming related stuff? I have a 5yo and 7yo boy. The older one is just starting to develop an interest in creating things, and recently took an unsuccessful (but still educational) stab at learning Blender.

18 and 15. I started them on Scratch about 9 years ago, so your elder was about the same age as my younger when we started, and I kept coming back to its model to explain ideas about algorithms.
My 7yo is absolutely thrilled by scratch on Lego Mindstorms Robot Innovator [1]. The physicality of it is engaging. Granted, I'm generally a very restrictive parent about mobile/console gaming.

1: https://www.lego.com/en-us/product/robot-inventor-51515

I agree with this. I think robots are probably where it's at these days.

Kids sometimes like the simplicity of the old computer games, but as mentioned above, the old excitement at having your hands on cutting edge tech isn't there with a Raspi, or an old retro computer.

Agreed. Mobile gaming should absolutely be banned from kids. Most of the games out there were designed to be money-grabbing. Consoles are better especially if you give them a retro one as the first machine.
You mean designed to get you to pay/watch ads gaming.

There's lots of great mobile games, why bad them all?

Yeah, I have a little section of no-ad kids games on my phone. There are times when it's helpful.

Minecraft, a couple educational games the younger one likes, machinarium, don't starve, lost journey.

I find that it's nice to say no mobile games but it's easier to fill that void with stuff that doesn't suck.

That's for sure, not all mobile games are bad, but the majority out there (especially those pushed by stores) are bad because only those have the $$ for monetization (aka pushed to front).

I guess we can always ban store access and only download the "good" ones, which is one solution that does not toss the baby out.

The appeal to me is the "low level programming". I know, the language is not low-level, but: "write code, make thing move" is what I mean by low level.

We used to look sideways at the engineers that "wrote drivers", but I see the appeal now. Even a programmer as jaded as me still gets a thrill when code I write for an Arduino is able to talk to a device like an air-particle measuring device.

My advice: go Arduino + peripherals. A "sound board" that can generate synthesized sounds would be fun to program — any kind of sensor that measures heat, humidity, air quality, etc. Motor controllers + robot platform of course....

Stuff is fairly cheap and there's so much out there.

Restricting kids from the mobile games is like restricting kids from drinking vodka you have in your bar. Everyone should do it. Those things are not games they are whale seeking mind fucking drugs that no child should have to try and deal with.

Anyway school my kids are in uses older version of the inventor, librarian runs a class with that twice a week both my 8 and 6 year old LOVE IT. Meaning that is their topic of conversation and they remember which days they have it during the week.

Couple days ago 8year olds class had a bring your parent to school day so I did a presentation mentioning a game I hacked with a debugger as an ice breaker. Forget what I actually do for next 20 minutes all I was asked is how to hack Minecraft, how to hack some online game I don't know :o and not get caught. Blew my mind, teacher was looking sideways at me :)

Now I promised to compile a set or resource about modding Minecraft for the class. I am also thinking about setting up a website that kids can mess with using developer tool in the browser(super simple html with hidden "password" etc)

> Restricting kids from the mobile games is like restricting kids from drinking vodka you have in your bar. Everyone should do it. Those things are not games they are whale seeking mind fucking drugs that no child should have to try and deal with.

Absolutely. I work in the industry so I know exactly the monetization culture there. It is so deeply rooted that there is way to avoid that, at least on Android. I think Apple is slightly better but maybe not really. I'm sad that the whole industry got trained in that mindset :(

> Couple days ago 8year olds class had a bring your parent to school day so I did a presentation mentioning a game I hacked with a debugger as an ice breaker. Forget what I actually do for next 20 minutes all I was asked is how to hack Minecraft, how to hack some online game I don't know :o and not get caught. Blew my mind, teacher was looking sideways at me :)

This is really very good experience :) I guess it's also very proud of your children to have a cool parent.

I'm struggling with what to do about Roblox. There are many different subgames on it, some of which really focused on money, some not, some focused on grinding, etc. But restricting Roblox wholesale then misses the opportunity to get into the creative/coding side of things. But then if the focus of that is going to be monetization...
This concerns me too. I have arrived at the task of just getting into Roblox enough to manage the problems.

It's like crack to my younger one. The pandemic has limited social contact, and she's ultra social! Like 11 on a scale of 10.

The moment she understood there are OTHER PEOPLE IN THAT THING, boom. Donzo, it's all she wants to do.

Not really true. When there was Quake and Visual Basic, we still played around with qbasic in msdos because it was fun and gave immediate feedback.

I think the combined editor and runtime environment of qbasic shortened the feedback loop and made it more fun.

A couple of years back I bought a microbit (in fact I bought two). "it's just a microchip" was the response.

I think he might be a future product owner as he was more than happy to give me requirements for a simple game, but had no interest in how it worked.

I was a lot like your friend's 11-year-old when I was a kid. I loved games, and I loved clicking around to make custom content for games, but I didn't comprehend programming.

My mother at one point even installed and booted up Visual Basic for me once and I just didn't get it.

It wasn't until I was 16 or 17 before I actually started seriously getting into computing.

I guess some kids are "late bloomers" and some just don't have the aptitude for it.

16 or 17 still sounds pretty young. In the December 31, 2020 lecture for Harvard's introductory programming course (CS50), the lecturer explains that 2/3 of the class have never programmed before [0] (most enrolled students are 18-19 years old by then, assuming the number excludes non-Harvard undergraduates who are taking the course online).

I started later, and I attribute it to my parents being low-tech, and online discourse framing programming as "really hard" and something you just do to find a steady job (versus make something useful). I bet I would have started a lot sooner if I had different influences growing up, but at least there's still time to learn now.

[0] https://youtu.be/YoXxevp1WRQ?t=208

> I think the problem here is that the world has moved on a lot since some of us kids were amazed at what we could make machines like an AppleII do with basic

OTOH, "open ended ways to create" have grown as well. There's of course programming, but also office activities, desktop publishing, making simple websites. If they're interested in modern 3D games like Fortnite, they might experiment with the basics of 3D rendering and game development using something like Godot. They won't come up with the next AAA title, but simple, proof-of-concept arcade or puzzle games ought to be feasible.

When I was at school in the 90s the computer room used to be full of kids at lunch time writing code in qbasic. The reason why was that was all there was to do on the machines that wasn't writing a document or making a spreadsheet. If you want kids to not play Fortnite and instead write code, take away Fortnite and leave them with something they can code on.
> And, to be fair, _most_ of the kids when I was in school just wanted to play Space Invader clones and not write Basic programs, I did most of my Basic programming in junior high on a BBC Micro

Well, I wouldn't be surprised if part of that is simply that writing a fun game in Basic is really really difficult. Actually, designing a fun game, period, is really difficult.

I know I was interested in making games at a young age but I also knew I wasn't going to be able to make them in the version of Basic that I had on my DOS computer

I would start a kid on Etoys from Squeakland.org, first show her some video demo. And show her how to script Minecraft from Etoys. Also Microblocks for hardware. Then Thonny and a $4 Raspberry pico led blinking and temperature with ADC, then have her measure her skin voltage. Then look at Squeak Morphic (Lawson English tutorials on Youtube).

Indeed, maybe only 10% of kids like it. The rest should go play with World of Goo. Then the Powder Toy.

Blender could be a good thing to get someone started in terms of programming. You can do things with it that you can't do easily with most other free or easily available software.
> I genuinely don't think many kids these days want t6o spend time playing with there LOGO Turtle

To be fair, as a kid growing up in the 80s enamoured with BASIC, I didn't even want to play with the LOGO Turtle. It always seemed like the most boring thing you could do with a computer.

> I could, as a 10 or 12 year old, make something for myself that kinda looked like and was way more fun (for me) to play that _literally_ the most desirable and sophisticated "computer game" there was at the time.

I think this explanation makes a lot of sense. I was that age a few years later and learned to program by building Flash games when they were at their peak.

It makes me wonder if there's a way to approximate that experience today, even with how far we've come. It doesn't need to be as high fidelity as Fortnite (most of my peers were far more interested in Call of Duty than Flash), but are there simple game engines that a kid today could get started with and quickly build something that's "cool" even by modern standards? Most I'm familiar with have a huge learning curve compared to a BASIC interpreter or even Flash.

Putting the Roblox controversies aside, I see kids creating entire multiplayer systems in this environment. Putting together 3D polygon models and animating them with Lua scripting.

And then on top of all of that they organize themselves into systems. My son belongs to a virtual "airline" that has an org chart, schedules "flights", and has dozens of players that run the show on a daily basis. And, like any other org, you get management disputes and daily problems. I see them better trained for what comes next than we are here, sitting around and talking about it.

So yeah, why would you draw circles with LOGO or blink LEDs when you can literally do all of this from an already-running desktop environment?

Roblox is crazy!

I have one very interested, and I feel it's worth doing. But, I'm way out of the loop on that one, meaning it's a time sink for me too.

But, maybe I just have to. Very interesting comment!

If your kid has the interest, they will teach themselves. That's the magic of the 'kids computer' we all get nostalgic for. Nobody taught us how to work with an Apple ][ or C64, we picked it up from books and from friends.

These days the online resources are lightyears better. I say let them explore and they will find their own path. You can't force this on someone and expect them to succeed.

No plans to force anything. She comes to me. Great. We have fun.
Kids like having power. Computers - even old ones - give them power.

Even if it's the power to say "wow, we've really come a long way, and what I think I would prefer to pursue is..."

> I genuinely don't think many kids these days want t6o spend time playing with there LOGO Turtle, when they could be playing multiplayer games on their phone or iPad instead.

My 13 y.o. girl sent me a screenshot of herself programming Python Turtle in Pycharm the other day :-)

I was just thinking about how to give my 4 year Old my experience growing up. I had a Mac, and I remember with great joy wandering around “Cosmic Osmo”, and drawing my own imaginations in MacPaint.

There are games, and paint programs, but many of them seem too directed. Too much intention.

I had a similar problem a few years ago. While I never found the perfect machine here is how I have been introducing my now 10 year old son to the world of computers:

- I bought him a Kano computer kit when he was about 7. The kit retailed for about $250 at the time and a kid could assemble it "like LEGO". It came with educational software that introduced him to programming languages, etc. (Unfortunately I do not think they make this kit anymore.) Verdict: MINOR SUCCESS.

- I tried to introduce him to Python (around 7.5) by following an online book about game programming. He did not show much interest. Verdict: FAILURE.

- I introduced him to MakeCode (arcade.makecode.com) around 8. He got absolutely hooked and it is still his favorite platform today. I bought him some cheap hardware (Meowbit) to put his programs on and he loves showing off his games to his friends and everyone else. Verdict: MAJOR SUCCESS.

- I introduced him to Godot when he was 9. He showed strong interest, built a few games in it and even understood enough of the Python like language that Godot has. He used this series of YouTube videos to learn about Godot: https://www.youtube.com/watch?v=HvPTSZl2WCc. Verdict: MEDIUM SUCCESS.

- We are currently building Ben Eater's 8-bit computer (eater.net/8bit) and he absolutely loves it. He is able to follow along with the videos and understand the material at a good level. He has named the computer "Terry". This project does require a lot of my own time. Verdict: MAJOR SUCCESS.

We have also tried other projects (e.g. Raspberry-pi with Raspbian, Arduino, Robotics kits, etc.) although nothing that he showed major interest at the time. I think you have to try with different things to see what will capture your child's imagination.

When I was around your son's age, my parents introduced me to computers by getting me a LEGO Mindstorms Robotics Invention System 2.0 set for Christmas in 2001. My favorite thing in the world was the Exploration Mars expansion.

The "hacker" community around Mindstorms was huge in the 00's. After the RCX was reverse engineered, all sorts of language support appeared. BrickOS for C and C++, lejos for Java, NQC, etc. I bumped into lejos in a section on Mindstorms toolchain options for Macintosh in one of my dad's MacWorld magazines. He helped me set it up and that's where I started learning Java.

It was a life altering gift for me if there ever was one. The first large event that set me on my current path.

I honestly kind of miss the silly hacker/spy/matrix-y aesthetic of computing in the early 00's. It was fun when I realized those LEGO Spybotics kits could be targeted by some of the Mindstorms tools. Everyone in elementary school thought I was going to be an evil genius. Now I build storage virtualization systems. Oh well I guess.

I remember being a kid, and really wanting one of those for xmas - I think it was the first versions they had made of them. Unfortunately it was too expensive, but man did it look exciting, and the idea of having your own robots was so cooooool.

Oh well, years later I got access to computers and ended up doing programming, but now that I could afford one, I cannot find them anymore :(

I got it as a kid but after diving into it I lost interest once I got everything working. I guess for me assembling things and getting them to work was always the most interesting part, after that I moved on to something else. Today I'm a DevOps Engineer :D

The parts should still be somewhere in my father's basement but getting them would take time. I found a new Mindstorms Robotics Invention System 1.5 on eBay (auction number 324365658011) if that is the one you are looking for.

I do miss the heyday of LEGO Mindstorms. Everything seems to have moved to low-cost limited use sets you can get on Amazon. Lowering the bar of access is a good thing, but I do miss the feeling of having a big tub of LEGOs you could build anything you want from.

I guess the cool kids learn CAD and just 3D print the parts they want, which is also awesome (I wonder if there is any research in recycling failed designs or prints back into filament)

I certainly do that with PCBs these days. The cost went down so far I just throw a design together in kicad and have them made for me and shipped over in a week or two. It's only a few bucks more than ordering protoboards and doing all of the wiring myself. I'll exchange a lunch out for that convenience.

Thanks for reminding me of the more "individual challenge" aesthetics of early coding. But I have to ask - you say, "oh well," like that's not something cool. I would have no idea where to even start with a storage virtualization system.

Maybe it's not evil genius, but it sure sounds cool.

I was in middle school around that same time, my parents got me the educational equivalent of Mindstorms (with RCX 1.0). We didn't have a PC and the educational edition came with a alternative LabView-based UI that ran on classic Mac OS. I remember seeing that article in Macworld and wanting to learn some of the other languages, but I never had much success. I can't say it was totally life altering, I was already headed down the path of an engineering career.

My college was still using the official Mindstorms sets for their intro to engineering classes, and so I recall finally getting my hands on the official Mindstorms software and finding it lacking. A classmate was using NQC to do it all, and his team let him do the programming. My team wasn't a fan of that approach so I stuck to the hardware.

> alternative LabView-based UI that ran on classic Mac OS

Was that Robolab? I remember running that on an G4 PowerMac.

I always thought that the "Robotics Invention System" sets were the consumer oriented ones and the educational ones were a separate product line distributed by a company called Pitsco if I'm recalling correctly. Came in a green tub.

Godot is a dead end. I tried it and found it very difficult to grok and then immediately ran into their hacked to hell threading model that you must know about (and sprinkle yields around in just the right spots) to get anything done.

I see it being revised significantly which will be a breaking change. If not, then it is what it is.

> Godot is a dead end.

c'mon, there have been millions of human hours played on games developed on engines or systems with not even 1/1000th of what Godot is able to achieve.

+1 for Ben Eater's 8-bit computer, the videos are very well put together and easy to understand. It's even a bit addicting to watch them because you always want to get to the next step. I binged it in a matter of 3 days. His 6502 is also very good, I wonder if that can be a good computing platform OP is talking about.
I introduced my daughter to ScratchJr when she was 5 and Scratch when she was 7.

I taught her class Scratch. It does make a big difference which language you start with. I think how much you are involved with your child’s learning make also is a big part of the success.

I introduced her to MakeCode at 8 and we used the microbit to build a robot with legos and servos.

This project was such a hit that her principal asked me to teach it to the middle school kids.

Is scratchjr only available on ios/android? Not on pc/mac?
Do you think any of these would work for a 3-year-old?
This is me-in-5-years I hope. You're a good parent.
Don't rule out a normal laptop loaded with whatever software you want
The creators of the Raspberry Pi had a good take on this:

If you make something that doesn't have a website browser and can't play a youtube video young people won't see it as a computer.

It's easy to forget that BBC micros etc were popular for games, and being fully fledged computers, as well as educational devices.

This is a good question and something I've been thinking about lately. I can't see my kid getting anywhere near of an explorative and self-learning experience that I had in the 80s with the tech available today.
It's so sad if this is the case. It shouldn't be, but it's kind of the way the world is going. Exploration is so discouraged now, and our computer environment makes it really hard even for adults to not get sucked into some corporate hole.

I've begun to think that learning what's hard and important about computers, and experimenting, doesn't require a computer. A computer is just one kind of sandbox. Building a structure, fixing part of a car, these have more in common with our experience of tinkering with computers than anything offered now by the social media world. Really, computers should be just another kind of mechanical thing you know how to work on, build, take apart, etc. It's what's being delivered over them these days that's poison.

I don't have kids but I don't see any difference in how you can teach yourself now from in previous years.

I was just given a BASIC manual around 1977 and started writing software, been doing it ever since.

I would have loved an FPGA dev board as a child, plugging TTL chips into a solderless breadboard was fun but there is a limit to the size of circuit that you can build.

Definitely get a few generations old machine. Something that runs modern software but is noticeably slow, your kids will want to google tips and tricks on optimizing it. Like a westmere optiplex, older think stations/thinkpads etc.

That's how a lot of us got into computers, I think.

Have you tried PICO-8? https://www.lexaloffle.com/pico-8.php

Not a computer but I think embodies a lot of the open-ended creativity of the Apple II.

PICO-8 is awesome, and you can run it on lots of inexpensive hardware for even more awesome!
Also TIC-80.

The only problem with these is that, other than using lua instead of Basic or assembler, they are a little too literal an interpretation of "give me the same experience as when I was a kid".

If OP wants to make game dev the focus, then PICO-8 or TIC-80 is the way to go. Their constraints are a good thing when you don't know what you don't know. With the asset pipeline built in, you don't get bogged down researching pixel editors and libraries for importing sprite sheets or map tiles. You can get things drawn on the screen satisfyingly FAST.
MS Word can be lots of fun and is easy to get started with. For sure let them design their own birthday invitations and so on.

I had a lot of fun as a kid playing Minecraft and building Redstone contraptions. Minecraft does invite tinkering with texture packs, mods etc.

So I'd say just go with a basic windows install on a normal PC.

Redstone seems like a great way to start learning programming Not that far of a leap to doing small hardware stuff.
(comment deleted)
iPads have a lot of good stuff, I think. I've 2x 7 year old girls, which have iPads. Generally they're limited to 1h/day, but screentime is off for:

- Codea - https://codea.io - it took a while, but eventually they found out that there's a few sample games, so they thought they'd found a loophole to "no more screentime for games". Then it took a bit longer until they realized they can tweak the source code. "Look at this, no gravity" or "Look at my high score!" (after tweaking the scores to increase in increments of 1000 instead of 1), or "Look, I changed the text messages" etc.

- Swift Playgrounds - they're not super fascinated with this, but I see them occasionally open it and noodle around.

- Procreate - they have an Apple Pencil, and any YouTube video about using Procreate is exempt from Screentime limits. This has led to a lot of amazing digital illustrations.

- Pages - just this simple built-in app is already pretty fun if kids are bored, and something is exempt from screentime. Last weekend one of them asked to go to Starbucks, because she's "writing a novel". She wrote a short story over ~5 pages, and was super proud of it.

- YouTube - in general, this is my least favorite app of theirs, and I try to police this the most. But any requests for videos where you learn things are exempt from screentime limits (case by case). E.g. Lego builds, origami, drawing instructions, "how to make slime at home" videos, etc.

This is a great question, and I'm eager to see what other creativity-fostering approaches are there. But to sum up my approach - limit screentime for mindless games, and let boredom take care of the rest.

Thanks for the suggestions.

I like to idea of using a DTP app (look at the old guy).

Have your girls tried the lessons at code.org? My ~6 year old really enjoys doing them. They're touch optimized which is nice as well.

From other replies on here, it seems that you are more interested in the Software side than the hardware. Scratch was the gateway drug for my kids. It immediately let them create games they could share with friends, it immediately let them grab other resources and tweak and change those for their own game.

I also kept them on linux (ubuntu) machines until they started high School - the reasons for this were 2-fold:

1) let them get comfortable with other OS's - they saw windows machines at school and ipads, this showed them that they were all 'just computers' and feel comfortable jumping between os's

2) security - oh man if you could see the amount of dodgy looking .exe and .bat files that are in the download folders.

My kids have now moved on to Godot and pygame, but an old laptop with Scratch was the key.

Multiple things are making things seem this way, one is that the income model has significantly changed, from "we make good software, people pay us for it" to.. whatever sentence sums up the current state of exploitation.

Another reason are the proverbial rose-colored glasses.

Yet another reason is just curation and sampling issues, since we now have a whole category of shovelware and shovelware-hybrids, the chance you'll actually stumble upon the really good stuff, is just way lower..

Are we ready to pay for curation yet?

I built a small raspberry pi zero "laptop"[1] with 4" screen and usb battery that does not have X and inits directly into openvt that starts vim (takes like 2 seconds to boot) and it has python and you can directly write pixels into /dev/fb0, there are also console games that are quite fun.

The best part was "no distraction environment" no internet, no messages, nothing, you have to be bored a bit to get creative.

Though my daughter doesnt use it much (she did in the beginning), it is super hard to compete with modern entertainment which is so reachable and so instant. All kids get what they want immediately after they want it. I want a football, order online, it arrives same day. I want to watch this movie, they start watching.

I am trying to create some time per day, in a safe space where she can be creative and bored.

[1]: https://github.com/jackdoe/programming-for-kids/blob/master/...

Just get an old computer. Old computers don't die - their users do.

You can get a nicely specc'ed ZX Next (https://www.specnext.com/) or Amstrad CPC6128 for the budget, or find an old C64 and deck it out with some solid-state storage (actually do this for all the machines, they all have it now).

My kids learned hacking on an Oric Atmos with a Cumulus drive (SD-card storage), which was just mind-blowing to see and also very, very inspiring for me personally, as a 40-year veteran of the art of programming.

These systems are still out there, and still work. AND, they are amazing - just look at the beauty of the 10liner Basic competition, which this year was won by an Oric Atmos program that implemented a fully working Lunar Lander game in 10 lines of Basic, custom graphics, sound and all!

https://gkanold.wixsite.com/homeputerium/games-list-2022

(Winning entry here: https://bunsen.itch.io/moon-landing-by-rax)

Failing that, check out the Clockwork Pi options: https://www.clockworkpi.com/

+++++ This is what I always imagined I'd do if I had kids, and I think I'd love every minute of it.

Did your kids get bored with those things when they got a look at an iPad? Or did they understand what they were looking at?

At first they were all "oh this is crap, look how big the pixels are! <disbelief>" but then after I typed in a 10-liner, the wonder started and they haven't complained a bit since, besides the time the power went out and nothing was saved .. but even that was a valuable experience, because my kids finally were able to properly elucidate the difference between a file and a folder, and in fact had a much better understanding of what a file is, in the first place .. a problem many still don't quite resolve today.

Just go for it. Even if your kids ridicule it, you'll have fun. :)

Maybe you can consider to buy a Nintendo 3DS?

There's this prominent French artist who makes his creations on that device: https://twitter.com/Kekeflipnote/status/1487872156629413888

The device itself is not meant for professional work, therefore should be suitable for beginners and kids but obviously it is powerful enough to be used as a primary tool by a recognised artist.

The software he is using is Flipnote Studio 3D:

https://www.nintendo.co.uk/Games/Nintendo-3DS-download-softw...

(comment deleted)
OK. My best friend had the same Apple II. We used to play Carmen Sandiego, and California Games, Oregon Trail; I had a TRS-80 Model 100 laptop that I learned BASIC on, but my first programming language was LOGO. Then Hypercard.

So I figured I'd address this question if or when I had a kid. I don't have kids. But I'm glad someone asked it the way you asked it; it's very important to me that kids should learn this way, by building things rather than having structures shoveled at them.

Quick side note. My dad banned RPGs in the house. My brother was a huge D&D fan but my dad said it encouraged "follower" mentality to follow a dungeon master's idea of the storyline; and he viewed all videogames with plot elements basically the same way.

OK. So how would I approach it? I'd make a language that took all the basic elements of code (vars, control structures, etc) and made them come to life the way LOGO did. The rewards of doing something cool have to be tangible. When I was 10 or 11, my friends and I had our own code competitions in Hypercard to try to make cool screen savers or little games. We judged each other and ourselves; we'd spend 72 hours and see who made the coolest thing and we'd be honest with each other if someone else's thing was cooler. None of this was "cool" at the time but it was like we had magically tapped into some power that other kids didn't have, and that was what kept us addicted to learning. We learned from each other and from our own mistakes. The two friends I'm thinking of from elementary school are both incredible developers and business owners now; one runs a very bizarre entertainment venue, and the other is a great writer who put out a bunch of games after working at Microsoft and Bungie.

So I believe they'd have the same view on it. Here it is:

1. Concrete results need to happen quickly 2. Introducing abstract concepts (arrays, complex data structures) should be challenging but lead to far greater results 3. Results need to be "pretty". But only in the way that encourages stretching your skills further. For example, if you start a kid in a programming environment where everything is a pristine 3D world, and their job is to program the behavior of an animal, then you've done most of the work for them; their work has to actually stand out and shine. The problem with too many platforms is that they reward the kid too soon. So you made an animal but it isn't really that different from every other kid's animal. The competition between kids is critical... and so is the ability to make something unexpected. LOGO could make unexpected artifacts. Hypercard was wide open, it was just a blank page. Kids' imaginations filled the gaps, and we all wanted to make Spaceship Warlock or Myst or the Journeyman Project from that page.

What I would do? I'd probably be a terrible parent. But my advice would be to get your kid a Commodore 64 or a TRS-80 and show them the manual for BASIC. And tell the kid if you want to play a game, make a game. Then get other kids to compete on it. The sense that you can create something from nothing using these tools is a powerful motivator. Then later they can see the world where it's all "been done" and they'll probably think of something like Wordle which wasn't quite done, because they've learned how to think that way.

Just my 2¢.

The thing about your childhood memories is that the actual output was not possible any other way. Paint Shop Pro banners made at home was awesome! Writing a program that took your age in years and returned the number of months was, in the 80s, mind-blowing. Remember, we thought that digital watches were cool! Now, you can ask Alexa how many days there are until your birthday. So writing software on a PC is a bit <meh>.

Any attempt to revive that sense of wonder has to be something that seems like an achievement, which is why Lego Mindstorms keeps getting a mention. Along that vein..

- If going down the Raspberry Pi route, look at doing stuff with sensors, servo drivers, that kind of thing. The CrowPi seems to be good for that.

- An Arduino educational kit with a bunch of electronics is really good - particularly if you can get it with a proper accompanying educational programme and all of the bits. Arduino is probably better than a Pi to get some introduction to embedded and electronics, because you don’t have to have an argument with your parents about whether or not systemd is a good thing.

- Good projects are buying LED lighting strips for their bedrooms and finding ways to turn them on and wire them up. It has to be something that you can’t get from Amazon Prime, so LED strips that you have to cut and solder make it much cooler.

- 3D printing is still amazing. Kids feel that they have produced something from nothing. The sense of wonder is definitely there.

- Radio controlled electric planes or drones are good. There is a fair amount of ‘programming’ involved (of radios, ESCs, etc), and it is surprisingly more complex than you would think. Start off simple though with a kit that has some self-assembly and upgradability.

I'm old enough to have used an Apple II in my early teens, and then the BBC models A and B. My parents bought me a Vic 20, and later I bought myself an Acorn Electron from money I made helping out teaching people basic computer skills. I hacked the hell out of those things. I also typed-in a lot of code from magazines. I remember the feeling (really almost ecstatic sometimes, to my teenage self) of possibility and exploration. I wrote Mandelbrot set programs and blew my mind a bit. I typed-in a planetary orbit simulator and then played with the constants to see what would happen. I learned 6502 assembler and wrote a simple (what I now know to be) cooperative multi-tasking scheduler. Information moved at the speed of monthly magazine publishing schedules, so you mostly had to figure stuff out yourself. It was fun. This was all pre-PC.

Now I'm older and I have teenagers and I did try to recreate this experience for them: Logo, RasPi, MicroBit, electronics kits, etc. But the truth is that simple stuff just wasn't that interesting to them. They played a lot of minecraft and built huge automatons with redstone and chickens, and they explored worlds like Mario Galaxy (impressively huge to me). I guess they got out of that something similar to what I did with my Vic 20. I can regret that their experience is built on a deep stack of tech that they know little about, but I don't think they really cared about that - if they thought abut it at all.

New technology attracts enthusiasts - but then it fades into the background or fades away. When cars became things that normal people could own, there were car clubs for people who enjoyed messing with cars. Some of these clubs still exist. When sound recording became a consumer tech, there were clubs were people met to listen to and share recordings. Domestic CB radio was a thing for a while. Astronomy clubs still exist - from their origins in a time when it became possible to buy a telescope and actually do new stuff with it.

My advice is to look for ways for them to actively explore the world in a positive, non-passive, fun way. Equip them with the means to explore - don't try to teach them web development. Don't ask them to stick with one thing. There's a lot more stuff now - so its ok to try things and abandon them and move one. They'll do that anyway.

The Apple II was not what I got at the time, and its graphics and sound were really sub-par compared to cheaper competition, but it was a really nice combination of things that are hard to match:

1) It had very fast storage for the time

2) It had excellent documentation in the box

3) The BASIC interpreters were better than what shipped with the Atari and Commodore machines

4) Apple LOGO was particularly well executed for something on an 8-bit machine

5) I had the impression it was easier at the time to get pirated copies of more sophisticated software like macro assemblers, Apple Pascal, etc for the Apple; Commodore and Atari circles were about the games

6) It had a built-in debugger ("monitor") with mini assembler

7) It had card slots that were straightforward to interface to - building real hardware for it was possible for a hobbyist. Also, it was affordable and practical to have an 80-column display

8) As you've noted the educational software for younger kids was exceptional

I just don't see anything remotely like that today but a used Apple II, and even then you're not going to have the ferment of early-mid-eighties home computer culture.

The counterargument is that today we have an embarassment of riches - the paradox of choice - and if you carefully select hardware and software and books for your kids (Scratch or Snap, paint programs, robotics kits, whatever takes with their interests) there's a much bigger world for them to explore.