Live data from Hacker News

Ask HN: Good programming language for kids

news.ycombinator.com

21–30 of 52 posts

Re: Ask HN: Good programming language for kids

#21
As weird as it might sound but I recommend Basic. With line numberings.

It will make her need to think about the whole program beforehand.That taught me analytical structural thinking so well. Also at some point I realised I could put more lines in between 10 and 20, 9 more lines!

Re: Ask HN: Good programming language for kids

#22
Scratch is a great choice. Worked well with my daughter. I think she was 8 at the time. She quickly grasped ideas like looping, variables, message sending between objects, coordinates...

It's a fun environment for them to experiment and mess around with, which helps learning a lot.

Re: Ask HN: Good programming language for kids

#26
post #21

As weird as it might sound but I recommend Basic. With line numberings. It will make her need to think about the whole program beforehand.That taught me analytical structural thinking so well. Also at some point I realised I could put more lines in between 10 and 20, 9 more lines!

NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO! You deserve to have your liver stabbed out with a tennis ball. A blunt tennis ball.

Re: Ask HN: Good programming language for kids

#27
Python comes with a turtle module, which means you can do all the neat drawing stuff you could do in Logo back in the days.

Also Python's interactive console provides two helpful functions: help and dir, which let you stay in the console even when you have to look up documentation, check properties of an object or find what else is contained in an imported module. There are other shells for Python that provide other functionality like saving your session's input in a file so you can actually write entire programs in Python for later use.

Also there's http://www.inventwithpython.com/, which is aimed at children and lets them create simple games to see results early on.

My first programming language was PHP at age 15, so I never had to make the jump from BASIC, but I've seen people stick with BASIC way past its expiry date just because they were used to it, becoming increasingly frustrated with its limitations. I think Python has the advantage that you don't easily hit a wall like that because you are writing in a "real" programming language from the get-go.

Re: Ask HN: Good programming language for kids

#29
post #11

Ask her! First, figure out what exactly she wants to do/make/play with—then pick the best tool for the job. If she just wants to make web pages, set her up with some webspace and then, after she's gotten HTML and CSS down, show her that she can "make things happen" using PHP and Javascript. If she wants to make a game, I would personally recommend starting off not with any raw-coding environment at all. Why? Kids don…

i agree with this but don't just 'prescribe' the right language - give her a few to try and see what she gravitates toward. you'd be surprised what kids can learn.

my 8 year old went from tryruby.org to hacketyhack. i have also taught him some basic erlang list concepts - lists:reverse, lists:seq, and functions. he got it right away and found it fascinating. ruby is easier for him because of syntax but he 'got it'.

Re: Ask HN: Good programming language for kids

#30
post #14
post #7

Install XAMPP from Apachefriends.org and have her start PHP. It's what many schools use for their beginner classes. On Windows, I like PHPDeveloper personal edition for an IDE. It's cheap (or free, I can't recall). PHP is mainstream, and since it's a web technology, she can likely show it off to her friends. It's not hard to find cheap PHP hosting if she ends up building something that she wants to put on the public-…

Come on, PHP is a horrible mess. Sorry to be so blunt, but that's the way it is. Don't start with PHP. I usually leave PHP devs to their own world, but since you suggest spoiling the children, I had to jump in... As for hosting, you could easily host a Ruby/Sinatra app on Heroku to show off for friends.

I started with PHP and I wouldn't recommend it. It teaches you horrible habits and its type system is equally confusing if you get started or if you come from another language. Plus, you have that heavily polluted global namespace, a half-assed class system (objects are special, classes are special, primitives are special -- in Python the experience is closer to "OMG I've been using objects all along!" (like in those movies where the protagonist suddenly realises the shoes weren't magical, "the magic was in [him]") whereas in PHP you actually need to understand a completely different approach to what you're used to.

And don't get me started on naming conventions. Sure, you can adapt to PHP's inconsistencies, but ideally the first language you learn should be reliable and consistent.

BESIDES: if you learn a web language, you have to learn HTML first. And if you want to learn HTML these days, you also have to learn CSS and then JavaScript isn't far off either. In short: you'll have to learn a whole lot of stuff just to get anywhere. If you start coding in a shell and eventually start on GUI code, you only have to worry about what it all looks like on YOUR machine (and if you want to share your code, you can simply (have your daddy) make sure the other person has all the necessary modules in place).

Post reply on HN