<div dir="ltr"><div>Your question was the basis for a video on computerphile this week - <a href="https://youtu.be/h8LTEFNLZ6M">https://youtu.be/h8LTEFNLZ6M</a></div><div>asking Brian Kernighan (of C fame) that question. His response is probably the same as my own which is Python because it is easy to learn, and the wealth of libraries available to work with too - you can very quickly get something up and working. One thing against Python that he brought up is something I didn't consider - the easy redistribution of what you make. I know that is one of my son's favourite things with Scratch - exploring what others have made and then remixing them.<br></div><div><br></div><div>I haven't succeeded at this point with my kids - but I think the key is probably to find something that your kid is interested in doing with some form of programming and then work it out from there. However, in any domain you find examples that are done with Python. Some of the ones I've used with my kids:</div><div>- pygame for making simple games</div><div>- mpyblockly for block based/python microcontroller (although my son was not happy that it wasn't coloured the same way as scratch and so ended up just following a tutorial and writing the python directly to get the LED flashing in Visual Studio code). <br></div><div><br></div><div>I think some of the block based tools can be a good starting point if there is an incentive to jump into the code at some point to do more advanced things.</div><div><br></div><div><br></div><div>I was tempted to do an educational experiment and see how well my kids learned the basics of programming if I started one off with Rust, another with Haskell, and the third with Python but they are all too different to make a fair comparison!</div><div><br></div><div>Kirk<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 5 Aug 2022 at 22:51, Brad Campbell <<a href="mailto:brad@fnarfbargle.com">brad@fnarfbargle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 5/8/22 22:38, Gregory Orange wrote:<br>
> If they've already done some block programming (Scratch or whatever), Minecraft (edu edition?) has block programming with a Python tab as well, which my youngster has launched into, with me cheering from the sidelines.<br>
> <br>
> She went to an afternoon codekids thing recently and IIRC they used IDLE - seemed to do the job fine.<br>
> <br>
> (Bah humbug I thought, learn vim and never look back... oh wait, I'm old, and new gen has to do things their way. Forest != trees, trees != forest.)<br>
<br>
If it makes you feel any better, I was well into my 30's before I learned vim/vi (and never looked back).<br>
<br>
He's done Minecraft, but only on the iPad and without programming. While I like the idea of the drag and drop block paradigm (and he's done that with LEGO) I was contemplating something a little lower level. <br>
<br>
Appreciate the input, I'm off to check out IDLE.<br>
<br>
Regards,<br>
Brad<br>
_______________________________________________<br>
PLUG discussion list: <a href="mailto:plug@plug.org.au" target="_blank">plug@plug.org.au</a><br>
<a href="http://lists.plug.org.au/mailman/listinfo/plug" rel="noreferrer" target="_blank">http://lists.plug.org.au/mailman/listinfo/plug</a><br>
Committee e-mail: <a href="mailto:committee@plug.org.au" target="_blank">committee@plug.org.au</a><br>
PLUG Membership: <a href="http://www.plug.org.au/membership" rel="noreferrer" target="_blank">http://www.plug.org.au/membership</a><br>
</blockquote></div>