Live data from Hacker News

Ask HN: What programming language should I teach my little brother?

news.ycombinator.com

31–40 of 119 posts

Re: Ask HN: What programming language should I teach my little brother?

#31
post #27

As a teenager, I tried various "real" coding languages - C++, Java, VB (ugh) - but I was never able to get engaged in them. All I wanted to do was build something cool quickly, and none of these languages allowed that without a significant time investment. Then, I tried out PHP. Within a few days, I was building random tools left and right, and having a great time doing it. So, to get him interested, I recommend you…

Second on the idea that it should be quick and easy to make useful stuff, but I have to disagree on PHP. Most of the example code out there is terrible, out of date or both. It's very easy to make a mess in PHP. Python seems to be the teaching language of choice these days, and it lets you do useful stuff without getting in the way. It's certainly not the only language to learn, but I'm inclined to say it should be t…

Yeah, PHP isn't an excellent language but it does do one thing and do it well. Just 99% of examples or scripts you find are absolutley horrible. Seriously, I've seen blog posts on PHP from IBM which contain bad programming practices.

Re: Ask HN: What programming language should I teach my little brother?

#32
post #6

Call me old school, but I would start off with Basic. If he was younger I would recommend Logo. Once he's hooked I would get him into C or pascal. I can't recommend enough getting him a "Basic Stamp" kit. Seeing how software can control hardware is magical. Then work him up into "Arduino" world in C.

BASIC will scar him. You might as well go with ruby or python, you get the same facility and start off with an extensible paradigm.

Re: Ask HN: What programming language should I teach my little brother?

#33
post #25

Scratch ( http://scratch.mit.edu/ ) is a good way to learn the basics of putting programs together. It's done visually and it may feel like just a toy, but you can do some pretty cool things, it has a very shallow learning curve, and it can intuitively guide you to learning some important concepts which then have applicability to traditional programming.

My 9 year old son is pretty facile with Scratch, and my 7 year old daughter loves playing with it. I second this recommendation for younger kids.

Re: Ask HN: What programming language should I teach my little brother?

#34
perl, javascript, haskell.

perl: practicality + fanatically helpful community, and it's in unix's dna javascript: nice skill, something you can make money in if you're good, immediate gratification on web pages haskell (or lisp): get some theory in there. i'd vote haskell because of the community

Re: Ask HN: What programming language should I teach my little brother?

#35
post #20

python or ruby are good choices. They can be used to do UNIX scripting, and each one has some really cool modules to do graphic stuff. I'm learning ruby just now, so that i can do GUI programming with shoes, and im using _why's guide: http://poignantguide.net/ruby/index.html I don't know which one is better for a 13 year old, just pick the one you know better.

Seconding Ruby, just for _why's guide. I've never read anything that makes me so immediately enthusiastic about coding, and it still has that effect when I reread it. I wish I'd known about that as a kid.

I've always liked Chris Pine's tutorial (http://pine.fm/LearnToProgram/), because you can go through them with someone who's paying attention in about two hours. I do love _why for self-teaching, though.

My biggest recommendation, though, is that once the kid has any sort of "foundational" programming language under his belt, you write a Scheme interpreter together, in that language, and then show him that the interpreter you just wrote can run Scheme files that already exist (possibly ones you pre-prepared.) That's the best way, I've found, to burn into someone's head that there's no one-true-language, and to get their mind started experimenting with "what if the language was different in way X? Could I code that?" trains of thought.

Re: Ask HN: What programming language should I teach my little brother?

#36

As a teenager, I tried various "real" coding languages - C++, Java, VB (ugh) - but I was never able to get engaged in them. All I wanted to do was build something cool quickly, and none of these languages allowed that without a significant time investment. Then, I tried out PHP. Within a few days, I was building random tools left and right, and having a great time doing it. So, to get him interested, I recommend you…

[deleted]

Re: Ask HN: What programming language should I teach my little brother?

#40
When I was at your brother's age (roughly), I started with dBase III+ and QuickBasic because that's what was installed on the discarded IBM PC/XT my father took home from work.

What kept me motivated was that interactive programs were just an INPUT A$ and a LINE(x,y,x1,y1) away. Today, I'd have to write dozens of lines of GUI code just to get a program with input and graphical output.

You may want to check out Processing at http://www.processing.org/ which offers a bit of that good old simplicity.

Post reply on HN