Live data from Hacker News

Ask HN: Good programming language for kids

news.ycombinator.com

41–50 of 52 posts

Re: Ask HN: Good programming language for kids

#42
Lots of good suggestions in here, depending on the answer to "ask her."

I'll just add that at 13 she's old enough to start in with something more "real" than squeak or scratch. While they do teach logic, she'll be able to build on something more realworld-like for much longer (like, forever if she wants).

Re: Ask HN: Good programming language for kids

#43
post #13

Ruby. I don't think you could get any less verbose, it's simple to understand and to the point, great for a first language. :)

I would agree 100% with you except for some personal experiences I've had. I'm a full time Ruby developer who incessantly tries to pull all his friends, kicking and screaming, into programming - any programming - and naturally I push Ruby first, since I find it such an elegant, intuitive language. To my surprise, though, some people just don't "get it". Where I see elegant, intuitive behaviour, they see incomprehensi…

'Depends on the person. I hate to say it but in many cases a less "opinionated about OO" language, like (gasp!) PHP, might be a better fit.'

PHP is equally opinionated about OO, as is Java, C++, Smalltalk, et al. It's just that not all opinions are equal.

Re: Ask HN: Good programming language for kids

#44

I taught myself to program when I was twelve by doing PHP. Although I wouldn't touch it with a barge pole these days it's certainly easy to learn. Having said that I'd probably get her a HTML/CSS book.

Did you later have to unlearn any bad habits, or did you have trouble picking up this or that concept or practice in other languages?

Re: Ask HN: Good programming language for kids

#45
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!

With "modern" editors (like QB) it is posible to write code without the line numbers. It is much easier, clearer and I was very happy to be able to remove all the line numbers, and use structurate programing.

For starting I prefer something like VB6, that is a little old, but it is more straightforward that the newer versions (VB.NET). In VB6 is designed to write forms in a simple way, you can show a lot of the internal information in the screen.

Later she can change to another language, like scheme.

Re: Ask HN: Good programming language for kids

#46
Squeak and Scratch are honestly the best possible choices (along with the story generator style tools are also), please ignore any opinions to the contrary. I would especially recommend checking out Scratch, as the folks behind PLT Racket/(Scheme) who are very very into early CS education has spoken well of it, though PLT itself might be a great environment for more supervised learning of programming etc and had some very nicely developed materials you to work from

For those who ask "why?" I say: Because visual construction/play is the first view that is presented to the user in those environments! All things being equal, it is always always easier to learn any topic if you are being presented information across several media (visual, auditory, textual) than only one.

Re: Ask HN: Good programming language for kids

#48
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!

Kids should have fun programming. Line numbers are sheer torture. I speak as someone who learned to program in TI-99/4A BASIC. The eventual move to QuickBASIC 2.0 was bliss: structured code and full-screen editing. I realized instantly what I had been missing.

And I learned on an Apple ][ with program loading taking a minute. Basic is fun. You can make the machine do what you want.

Re: Ask HN: Good programming language for kids

#49
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.

Okay, I'll give you this. You made some good points against PHP, but prior to my post, look at some of the suggestions that were completely off-the-wall, impractical and hardly ever used for anything in the wild. I won't enumerate them here. Perhaps ruby or python would be okay. And sure, if you wanna break out frameworks (the auto-tune of programming) be my guest.

Re: Ask HN: Good programming language for kids

#50
post #20

Look at storytelling Alice. It's a PhD thesis mod of Alice, designed to help kids (especially girls) get into programming. http://www.alice.org/kelleher/storytelling/

Another vote for Alice.. I had an intro to engineering course freshman year that spent 3-4 weeks with Alice to teach basic programming concepts for non-comp sci people and beginners. It's the perfect tool for developing basic concepts of programming, but in a fun environment that doesn't "feel" like coding.

I have a deep mistrust of Alice. When everything you do is done by pulling something from a menu, how do you even think about creating something basic that is not already in those menus? It is almost like expecting to learn a lot about civil engineering by playing with Lego. Certainly, there are many things you would find superficially similar, but the essence is missing. Yes, I am exaggerating, but you see where my mistrust comes from.
Post reply on HN