# What do kids play with to learn programming

**URL:** <https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672>\
**Category:** In My Humble Opinion\
**Created:** [December 11, 2008, 3:41am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672 "2008-12-11T03:41:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Grey](https://avatars.discourse-cdn.com/v4/letter/g/b782af/32.png) [@Grey](https://boards.straightdope.com/u/Grey)\
**Post date:** [December 11, 2008, 3:41am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/1 "2008-12-11T03:41:59Z")

</div>

I use to hang out at the back of Radio Shack and bang out BASIC programs. It was relatively easy and I don’t remember having a hard time learning the basic flow (sequential + goto).

But I have no idea what a kids would play with today. My son is 8 and starting to want to use the computer as opposed to play on it which is nice. But I need ideas as to what to give him.

C/C++ or C# seem way to technical and I’m not sure JAVA or Python would work. He’s pretty visual - is there a graphical kids language?

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [December 11, 2008, 4:05am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/2 "2008-12-11T04:05:07Z")

</div>

I hear good things about [Alice](http://www.alice.org/), although it is somewhat targeted at girls. Still, it’s probably worth checking out.

---

<div class="post-metadata">

**Author:** ![Hockey\_Monkey](https://avatars.discourse-cdn.com/v4/letter/h/a183cd/32.png) [@Hockey\_Monkey](https://boards.straightdope.com/u/Hockey_Monkey)\
**Post date:** [December 11, 2008, 4:24am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/3 "2008-12-11T04:24:26Z")

</div>

> [@ultrafilter](#):
>
> I hear good things about [Alice](http://www.alice.org/), although it is somewhat targeted at girls. Still, it’s probably worth checking out.

Exactly what I was going to suggest.

---

<div class="post-metadata">

**Author:** ![Shagnasty](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@Shagnasty](https://boards.straightdope.com/u/Shagnasty)\
**Post date:** [December 11, 2008, 4:33am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/4 "2008-12-11T04:33:09Z")

</div>

I think it is the Commodore 64 and always was. That is how I learned my career and I am 35 now. Come to think of it, I have no idea how kids learn it these days. I still have a Commodore 64 emulator on my computer that teaches my young daughters some of these concepts. I specialize in Oracle software now but there is no chance that a 6 year old can pick that up.

---

<div class="post-metadata">

**Author:** ![seodoa](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@seodoa](https://boards.straightdope.com/u/seodoa)\
**Post date:** [December 11, 2008, 4:42am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/5 "2008-12-11T04:42:44Z")

</div>

I remember the hours I would spend as a tyke experimenting with Applesoft BASIC on our family’s Apple IIc. I had a floppy disk of nothing but goofy programs and games that I would make. Later, when we got a Mac, I started using Hypercard (and later HyperStudio [it had color!]) to make all sorts of graphical “programs.”

ETA: Logo is a tried-and-true educational tool still available.

---

<div class="post-metadata">

**Author:** ![beowulff](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/beowulff/32/542_2.png) [@beowulff](https://boards.straightdope.com/u/beowulff)\
**Post date:** [December 11, 2008, 4:51am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/6 "2008-12-11T04:51:21Z")

</div>

There are free BASICs out there.  
Myself, I’ve mostly given up writing in C for OS X - I just use RealBasic, and I can have a working App in an hour.

---

<div class="post-metadata">

**Author:** ![seodoa](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@seodoa](https://boards.straightdope.com/u/seodoa)\
**Post date:** [December 11, 2008, 5:05am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/7 "2008-12-11T05:05:52Z")

</div>

REALbasic is nice, but I think of all the suggestions, including my own, Alice is the best as far as educational programming languages. Logo gets pretty boring fast, HyperStudio costs money (and seems to have gotten a little more complicated since when I first used it), and HyperCard is ancient, not free, no longer supported, and AFAIK, Mac-only.

(I didn’t even know about Alice before this thread. I might have to download it and play around :D)

---

<div class="post-metadata">

**Author:** ![even\_sven](https://avatars.discourse-cdn.com/v4/letter/e/dfb087/32.png) [@even\_sven](https://boards.straightdope.com/u/even_sven)\
**Post date:** [December 11, 2008, 5:10am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/8 "2008-12-11T05:10:53Z")

</div>

It’s not really programming, but I can amuse myself for hours with the RPG Maker programs.

---

<div class="post-metadata">

**Author:** ![seodoa](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@seodoa](https://boards.straightdope.com/u/seodoa)\
**Post date:** [December 11, 2008, 5:19am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/9 "2008-12-11T05:19:55Z")

</div>

> [@even\_sven](#):
>
> It’s not really programming, but I can amuse myself for hours with the RPG Maker programs.

There was a shareware RPG made for the Mac (and I believe later released for Windows) that also had a design program allowing one to craft their own games. The scripting language was easy-to-use yet still allowed for significant depth. I just wish I could remember what the name was…

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [December 11, 2008, 5:55am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/10 "2008-12-11T05:55:41Z")

</div>

My vote would be for learning BASIC. While I never branched out in other languages as far as I did in BASIC (except Assembly, but that’s a different animal), learning BASIC kinda sets the groundwork for other languages. It gives you a good feel for how things should flow and kinda teaches you the basic problem solving methods that would carry over into other languages.

But that was a long time ago.

Maybe HTML

---

<div class="post-metadata">

**Author:** ![placebo](https://avatars.discourse-cdn.com/v4/letter/p/e274bd/32.png) [@placebo](https://boards.straightdope.com/u/placebo)\
**Post date:** [December 11, 2008, 7:53am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/11 "2008-12-11T07:53:45Z")

</div>

Something like [Scratch](http://scratch.mit.edu/) or [Alice](http://www.alice.org/) should be more accessible than Basic, but if you insist on the latter, try [Small Basic](http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx).

---

<div class="post-metadata">

**Author:** ![FlyingRamenMonster](https://avatars.discourse-cdn.com/v4/letter/f/ce7236/32.png) [@FlyingRamenMonster](https://boards.straightdope.com/u/FlyingRamenMonster)\
**Post date:** [December 11, 2008, 10:20am UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/12 "2008-12-11T10:20:33Z")

</div>

Game Maker used to be nice until it got bought up by Yoyo Games. I think Game Maker 6 is still free though. I have rather fond memories of it, since I played with it a lot as a kid. It uses its own language, GML. You don’t have to actually write any code to make a game, but it gets you thinking systematically. And eventually you probably will code at least a little, because you can’t do any _really_ cool stuff without it.

---

<div class="post-metadata">

**Author:** ![Grey](https://avatars.discourse-cdn.com/v4/letter/g/b782af/32.png) [@Grey](https://boards.straightdope.com/u/Grey)\
**Post date:** [December 11, 2008, 12:35pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/13 "2008-12-11T12:35:35Z")

</div>

Scratch and Alice look very interesting. I think I’ll try Alice first and see how he likes making “stories” with it.

Heck I want to try it. 🙂

---

<div class="post-metadata">

**Author:** ![Marienee](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@Marienee](https://boards.straightdope.com/u/Marienee)\
**Post date:** [December 11, 2008, 12:42pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/14 "2008-12-11T12:42:11Z")

</div>

Thanks for posting this question! I can’t wait to show these to Thing One and Thing Two.

---

<div class="post-metadata">

**Author:** ![Henrichek](https://avatars.discourse-cdn.com/v4/letter/h/5daacb/32.png) [@Henrichek](https://boards.straightdope.com/u/Henrichek)\
**Post date:** [December 11, 2008, 1:29pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/15 "2008-12-11T13:29:09Z")

</div>

I tried Lego Mindstorms once, a programmable Lego unit that came with a set of sensors and outputs for engine control and so on. It came with some programming software where it was programmed by connecting graphical nodes representing conditionals and loops and so on. It’s pretty much the graphical programming you seem to ask for. I think the program was called RoboLab. It was trivial to make a Lego car follow a line on the floor for example, by using the light sensor inputs together with a loop and a couple conditionals to control the left and right engines to turn the vehicle.

Starting and stopping engines, delays, sensor inputs, conditionals and everything is represented by nodes that are connected by lines to form the program flow. Conditionals will branch into two lines, each representing what to do depending on the input to the conditional. It’s quite neat.

---

<div class="post-metadata">

**Author:** ![chrisk](https://avatars.discourse-cdn.com/v4/letter/c/6de8d8/32.png) [@chrisk](https://boards.straightdope.com/u/chrisk)\
**Post date:** [December 11, 2008, 1:30pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/16 "2008-12-11T13:30:57Z")

</div>

If the wee one is interested in the web at all, then a bare bones hosted page and some library books/online tutorials can probably go a long way. Starting with HTML, (not really programming, but it can be fun to ‘play around in’ and get the hang of using tags to get the page to ‘do something’) then adding javascript, and maybe progressing to PHP or something like that if it’s available.

---

<div class="post-metadata">

**Author:** ![ftg](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ftg/32/2801_2.png) [@ftg](https://boards.straightdope.com/u/ftg)\
**Post date:** [December 11, 2008, 2:14pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/17 "2008-12-11T14:14:27Z")

</div>

My kids also went down the webpage, javascript, etc. path. They really got into Flash programming. (Now one of them is enough of a “Ruby on rails” expert that his bosses want to set him up with his own company. So it doesn’t really matter how low you start. Having fun doing it is the key.)

---

<div class="post-metadata">

**Author:** ![Grey](https://avatars.discourse-cdn.com/v4/letter/g/b782af/32.png) [@Grey](https://boards.straightdope.com/u/Grey)\
**Post date:** [December 11, 2008, 2:44pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/18 "2008-12-11T14:44:30Z")

</div>

That’s what I’m hoping for. Alice looks very nice in that he should be able to see the linkage between building a story (sequential) with objects and a structured format.

Just want to give him the chance to start to like it and then see what happens.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [December 11, 2008, 5:31pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/19 "2008-12-11T17:31:35Z")

</div>

> [@Henrichek](#):
>
> I tried Lego Mindstorms once, a programmable Lego unit that came with a set of sensors and outputs for engine control and so on. It came with some programming software where it was programmed by connecting graphical nodes representing conditionals and loops and so on. It’s pretty much the graphical programming you seem to ask for. I think the program was called RoboLab. It was trivial to make a Lego car follow a line on the floor for example, by using the light sensor inputs together with a loop and a couple conditionals to control the left and right engines to turn the vehicle.
> 
> Starting and stopping engines, delays, sensor inputs, conditionals and everything is represented by nodes that are connected by lines to form the program flow. Conditionals will branch into two lines, each representing what to do depending on the input to the conditional. It’s quite neat.

I would pretty enthusiastically recommend Mindstorms if the kid in the OP were a few years older, but eight strikes me as too young. Something to keep in mind as a 10th or 11th birthday present.

---

<div class="post-metadata">

**Author:** ![Grey](https://avatars.discourse-cdn.com/v4/letter/g/b782af/32.png) [@Grey](https://boards.straightdope.com/u/Grey)\
**Post date:** [December 11, 2008, 5:55pm UTC](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672/20 "2008-12-11T17:55:59Z")

</div>

Mentally **I’m** the right age. Notes have been passed to Lady Grey. 😉

[Next page](https://boards.straightdope.com/t/what-do-kids-play-with-to-learn-programming/476672.md?page=2)
