Live data from Hacker News

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

news.ycombinator.com

81–90 of 119 posts

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

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

It's tradition.

Didn't we all start with basic, even if just for a little bit?

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

#82
post #52

I would recommend Python or if the Unix/Linux component isn't as important, JavaScript. JavaScript would allow your brother to share his creations with friends and learning the amazing (and at times frustrating world) world of the web.

Since making stuff should be fun, I'd recommend Python with the Facebook API. It's really easy to learn and allows him to show off to his friends.

I think the ability to "show" something is important for probably 90% of people - that doesn't mean they won't become deeply interested in programming in general, its just that they view it as a means to an end, and I think people underestimate how hard it is for beginners to make something that "works" in a cross platform way, enough to inspire them to keep going anyway.

In some ways I almost think javascript in a browser is enough, you have firebug and its shell, and you can immediately show hacking around etc..

Of course, there are some who the mathematical pleasure is really what they are after, in which case I would think haskell - and it has the bonus of a very simple syntax that really doesn't look like a "programming language" - at least what most people think.

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

#83
post #20

Earlier quoted context omitted.

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.

Also consider Hackety Hack from _why. It is very involving, giving step-by-step instructions and crystal-clear explanations (like TryRuby). http://hacketyhack.net/reality/

Somebody downvoted this entire thread; no clue why. I've never tried Hackety Hack, but it looks like a really interesting tutorial set. Thanks for the tip!

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

#84

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.

I agree! The poignant guide is perfect for having fun in the reading about it part.

And Ruby has a number of other benefits:

* Easy web frameworks if he wants to get into that (Rails, Merb, Sinatra, Camping, etc)

* Definitely fulfills the "beautiful syntax" part

* shoes for really easy GUI apps (that are portable, so he can show it off to his lame windows-using friends)

* Built-in powerful regexps for that pattern matching you expressed love for

* It's generally something that you'll run from command line, helping with the learning about Linux part

* Lots of cool libraries out there

* Object-Oriented, which at least for me was a very easy thing for me to grasp (especially compared to functional, which I'm currently trying to learn)

* Awesome

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

#85

I would recommend Python or if the Unix/Linux component isn't as important, JavaScript. JavaScript would allow your brother to share his creations with friends and learning the amazing (and at times frustrating world) world of the web.

Go with Python. I taught my 7-year old nephew Python in an hour, but failed to teach him javascript. There's just too much to type and explain.

Also, it's easier to explain to someone if you have an interpreter going and they can see the results.

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

#86

Since you know OCaml how about teaching him Haskell followed by C? The former should be pretty accessible to a 13 year old and he’ll have a lot of time to wrestle with some of the more difficult concepts like Monads (although I think exposure to them at an early age will make them easier to grok since he doesn’t have to unlearn a bunch of other stuff). I highly recommend Real World Haskell ( http://book.realworldhask…

Why are Monads considered difficult?

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

#87
Go with C++. I learned C++ at 12 and learning every other language (except those based on the functional paradigm) has been a breeze. Starting with a more "difficult" language will give him a good foundation. And C++ really shouldn't be too difficult anyways if he is really interested in the material (sounds like he would be).

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

#88
post #52

I would recommend Python or if the Unix/Linux component isn't as important, JavaScript. JavaScript would allow your brother to share his creations with friends and learning the amazing (and at times frustrating world) world of the web.

Since making stuff should be fun, I'd recommend Python with the Facebook API. It's really easy to learn and allows him to show off to his friends.

Or go with the PyGame API.

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

#89
post #88
post #52

Earlier quoted context omitted.

Since making stuff should be fun, I'd recommend Python with the Facebook API. It's really easy to learn and allows him to show off to his friends.

Or go with the PyGame API.

Indeed. Pygame is pretty simple and with only a bit of knowledge one can use it to produce awesome visuals.
Post reply on HN