I remember trying to program some BASIC back in 1st grade, which was 31 years ago. I was terrible at it, but I was hooked.
Fast forward to today: my 4th grader asked me the other day which language he should learn, and I was stumped. I ran through the languages I know well in my head: Java, PHP, Perl, Python, Ruby, Javascript, Go, Swift... Wasn't sure what to tell him. His expectations are fairly high, due to Minecraft and video games and whatever.
So, on one level I agree with the author: Python (or Ruby) is probably the closest to the original feel of BASIC. You can dive into simple statements without wrapping it in a class. You don't need to worry about functional vs. OOP or methods or functions. You can just write some code.
But, as I thought about it, I realized my son already _is_ programming. He's just using Minecraft's red stones. It isn't turing complete, but it has basic input and output.
What I'd love to see is something like Minecraft, but with a more accessible programming environment. There are a few tools out there that do it, but the gap between the visual building experience and the programming experience is way to wide. I want him to click on a block and write 3 lines of code to change the color and give it some behavior.
tl;dr - Minecraft is the new BASIC for most kids today. It just isn't a very good BASIC.
I'd suggest processing for kids starting out. It gives them the visual feedback they need to get hooked. I got a 14yo to build a particle system in < 4hrs and after that he was hooked.
Fast forward to today: my 4th grader asked me the other day which language he should learn, and I was stumped. I ran through the languages I know well in my head: Java, PHP, Perl, Python, Ruby, Javascript, Go, Swift... Wasn't sure what to tell him. His expectations are fairly high, due to Minecraft and video games and whatever.
So, on one level I agree with the author: Python (or Ruby) is probably the closest to the original feel of BASIC. You can dive into simple statements without wrapping it in a class. You don't need to worry about functional vs. OOP or methods or functions. You can just write some code.
But, as I thought about it, I realized my son already _is_ programming. He's just using Minecraft's red stones. It isn't turing complete, but it has basic input and output.
What I'd love to see is something like Minecraft, but with a more accessible programming environment. There are a few tools out there that do it, but the gap between the visual building experience and the programming experience is way to wide. I want him to click on a block and write 3 lines of code to change the color and give it some behavior.
tl;dr - Minecraft is the new BASIC for most kids today. It just isn't a very good BASIC.