# What programming language would be best for a 10-year old kid?

**URL:** <https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014>\
**Category:** In My Humble Opinion\
**Created:** [September 30, 2013, 4:20pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014 "2013-09-30T16:20:32Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Southern\_Yankee](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/southern_yankee/32/2800_2.png) [@Southern\_Yankee](https://boards.straightdope.com/u/Southern_Yankee)\
**Post date:** [September 30, 2013, 4:20pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/1 "2013-09-30T16:20:32Z")

</div>

My son has shown an interest in creating simple batch files on his computer. He’s 10. If I wanted to get him a book to learn some beginner programming, what would be best? At this point I’m thinking something that would allow him to see some tangible results pretty quickly to keep his interest.

---

<div class="post-metadata">

**Author:** ![MrDibble](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mrdibble/32/114_2.png) [@MrDibble](https://boards.straightdope.com/u/MrDibble)\
**Post date:** [September 30, 2013, 4:24pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/2 "2013-09-30T16:24:52Z")

</div>

Python.

---

<div class="post-metadata">

**Author:** ![aNewLeaf](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@aNewLeaf](https://boards.straightdope.com/u/aNewLeaf)\
**Post date:** [September 30, 2013, 4:30pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/3 "2013-09-30T16:30:26Z")

</div>

Pascal

---

<div class="post-metadata">

**Author:** ![Southern\_Yankee](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/southern_yankee/32/2800_2.png) [@Southern\_Yankee](https://boards.straightdope.com/u/Southern_Yankee)\
**Post date:** [September 30, 2013, 4:33pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/4 "2013-09-30T16:33:56Z")

</div>

Thanks, **MrDibble**. This looks like what I was thinking about. [http://www.amazon.com/Python-Kids-Playful-Introduction-Programming/dp/1593274076/ref=sr\_1\_1?ie=UTF8&qid=1380558670&sr=8-1&keywords=python+for+kids](http://www.amazon.com/Python-Kids-Playful-Introduction-Programming/dp/1593274076/ref=sr_1_1?ie=UTF8&qid=1380558670&sr=8-1&keywords=python+for+kids)

---

<div class="post-metadata">

**Author:** ![leahcim](https://avatars.discourse-cdn.com/v4/letter/l/b4bc9f/32.png) [@leahcim](https://boards.straightdope.com/u/leahcim)\
**Post date:** [September 30, 2013, 4:39pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/5 "2013-09-30T16:39:57Z")

</div>

Scala 🙂 . No, seriously, another vote for python. Java later if he gets into wanting more structured programming.

---

<div class="post-metadata">

**Author:** ![Terr](https://avatars.discourse-cdn.com/v4/letter/t/839c29/32.png) [@Terr](https://boards.straightdope.com/u/Terr)\
**Post date:** [September 30, 2013, 5:20pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/6 "2013-09-30T17:20:30Z")

</div>

[Alice](http://www.alice.org/index.php) demonstrates programming concepts very well. Then you can transition into other languages.

---

<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:** [September 30, 2013, 5:29pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/7 "2013-09-30T17:29:53Z")

</div>

Do they still teach BASIC, that’s what I learned when I was that age. Easy to pick up, easy to use and it translates pretty readily to other languages (including web languages) mostly by changing around the syntax and commands…which all make sense if you have a good grasp of BASIC.

You might see if you can get him enrolled in a class for kids, that’s how I got started in it.

---

<div class="post-metadata">

**Author:** ![iamthewalrus\_3](https://avatars.discourse-cdn.com/v4/letter/i/258eb7/32.png) [@iamthewalrus\_3](https://boards.straightdope.com/u/iamthewalrus_3)\
**Post date:** [September 30, 2013, 5:44pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/8 "2013-09-30T17:44:54Z")

</div>

Another vote for Python.

Great for beginners in many ways, and he’s learning the basics of a high-powered commonly-used language if he gets more serious when he’s older.

---

<div class="post-metadata">

**Author:** ![blindboyard](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/blindboyard/32/2833_2.png) [@blindboyard](https://boards.straightdope.com/u/blindboyard)\
**Post date:** [September 30, 2013, 6:16pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/9 "2013-09-30T18:16:24Z")

</div>

APL, maybe moving on to COBOL.

---

<div class="post-metadata">

**Author:** ![whitetho](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whitetho/32/1059_2.png) [@whitetho](https://boards.straightdope.com/u/whitetho)\
**Post date:** [September 30, 2013, 6:18pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/10 "2013-09-30T18:18:24Z")

</div>

> [@blindboyard](#):
>
> APL, maybe moving on to COBOL.

No, real programmers use assembly language on computers with 1 kilobyte of memory…

---

<div class="post-metadata">

**Author:** ![Crowbar\_of\_Irony\_3](https://avatars.discourse-cdn.com/v4/letter/c/f08c70/32.png) [@Crowbar\_of\_Irony\_3](https://boards.straightdope.com/u/Crowbar_of_Irony_3)\
**Post date:** [October 1, 2013, 10:28am UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/11 "2013-10-01T10:28:10Z")

</div>

How about a variant of BASIC, such as [FreeBasic](http://www.freebasic.net/)? I think it supports QBasic syntax, so he can learn structured programming from the get-go.

---

<div class="post-metadata">

**Author:** ![batsto](https://avatars.discourse-cdn.com/v4/letter/b/b2d939/32.png) [@batsto](https://boards.straightdope.com/u/batsto)\
**Post date:** [October 1, 2013, 2:21pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/12 "2013-10-01T14:21:51Z")

</div>

I taught my 9 year old some simple Qbasic, and we’ve since picked up a Python book ( I think it’s called ‘Hello World’), and he’s had no trouble so far getting through the first three or four chapters.

---

<div class="post-metadata">

**Author:** ![Kinthalis](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/kinthalis/32/16084_2.png) [@Kinthalis](https://boards.straightdope.com/u/Kinthalis)\
**Post date:** [October 1, 2013, 2:28pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/13 "2013-10-01T14:28:42Z")

</div>

Javascript?

It’s something he can experiment with on anything with a browser, something that should be immediately relatable to him, much more so than something like qbasic, IMHO.

He probably already has favorite websites and you can start there, figuring out “how they made that tab slide out”.

With canvas and HTML5, simple little games should be a breeze to code. Start with a game loop, add keyboard/mouse input handlers, update objects, etc.

He’ll be the next Zuckerberg.

---

<div class="post-metadata">

**Author:** ![UncleRojelio](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/unclerojelio/32/3160_2.png) [@UncleRojelio](https://boards.straightdope.com/u/UncleRojelio)\
**Post date:** [October 1, 2013, 3:08pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/14 "2013-10-01T15:08:34Z")

</div>

Another vote for Pascal.

---

<div class="post-metadata">

**Author:** ![newcomer](https://avatars.discourse-cdn.com/v4/letter/n/e5b9ba/32.png) [@newcomer](https://boards.straightdope.com/u/newcomer)\
**Post date:** [October 1, 2013, 3:20pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/15 "2013-10-01T15:20:15Z")

</div>

If into Windows, then [Visual Studio](http://www.microsoft.com/visualstudio/eng/visual-studio-2013)

Or, if into Apple stuff, [Xcode](https://developer.apple.com/technologies/tools/)

Learning curve may be steep but if he’s got time to waste this has potential for a better payoff than Minecraft 😃

---

<div class="post-metadata">

**Author:** ![Ximenean](https://avatars.discourse-cdn.com/v4/letter/x/aca169/32.png) [@Ximenean](https://boards.straightdope.com/u/Ximenean)\
**Post date:** [October 1, 2013, 3:39pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/16 "2013-10-01T15:39:11Z")

</div>

> [@Kinthalis](#):
>
> Javascript?
> 
> It’s something he can experiment with on anything with a browser, something that should be immediately relatable to him, much more so than something like qbasic, IMHO.
> 
> He probably already has favorite websites and you can start there, figuring out “how they made that tab slide out”.
> 
> With canvas and HTML5, simple little games should be a breeze to code. Start with a game loop, add keyboard/mouse input handlers, update objects, etc.

Yes, I think you could be right. The trouble with learning programming from scratch is that the programs you can write all by yourself are not very interesting.

At the absolute beginner level, most languages are pretty much the same. Ifs and thens, loops constructs, variables… these concepts don’t change. As long as it’s something fairly mainstream, and doesn’t need some honking great IDE just to do anything with, it should be fine.

---

<div class="post-metadata">

**Author:** ![Kinthalis](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/kinthalis/32/16084_2.png) [@Kinthalis](https://boards.straightdope.com/u/Kinthalis)\
**Post date:** [October 1, 2013, 3:50pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/17 "2013-10-01T15:50:27Z")

</div>

> [@newcomer](#):
>
> If into Windows, then [Visual Studio](http://www.microsoft.com/visualstudio/eng/visual-studio-2013)
> 
> Or, if into Apple stuff, [Xcode](https://developer.apple.com/technologies/tools/)
> 
> Learning curve may be steep but if he’s got time to waste this has potential for a better payoff than Minecraft 😃

Visual studio is a treat to work with. Best IDE around. There are free (express) editions that can be downloaded from Microsoft. With a little tweaking it’s a perfect dev platform for a number of languages, js, included.

---

<div class="post-metadata">

**Author:** ![Teuton](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/teuton/32/3864_2.png) [@Teuton](https://boards.straightdope.com/u/Teuton)\
**Post date:** [October 1, 2013, 4:14pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/18 "2013-10-01T16:14:08Z")

</div>

[Tcl](http://www.tcl.tk/) is simple to play with, open source, and lets you easily build windows GUIs. Been slowly teaching my 7 yr old how it works.

---

<div class="post-metadata">

**Author:** ![Dorjan](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dorjan/32/12440_2.png) [@Dorjan](https://boards.straightdope.com/u/Dorjan)\
**Post date:** [October 1, 2013, 4:42pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/19 "2013-10-01T16:42:48Z")

</div>

Python for sure. It’s very approachable for a 10 year old learning programming languages and he/she can write apps! Kids are all about apps these days. 😃

---

<div class="post-metadata">

**Author:** ![Hari\_Seldon](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hari_seldon/32/5173_2.png) [@Hari\_Seldon](https://boards.straightdope.com/u/Hari_Seldon)\
**Post date:** [October 1, 2013, 9:43pm UTC](https://boards.straightdope.com/t/what-programming-language-would-be-best-for-a-10-year-old-kid/670014/20 "2013-10-01T21:43:32Z")

</div>

Another vote for BASIC (ducks under the opprobrium).
