Some people here are concerned about "best programming practices" and learning certain lessons. He's 13. Just let him play, and if he likes programming, he'll continue learning.
Ask HN: What programming language should I teach my little brother?
71–80 of 119 posts
Re: Ask HN: What programming language should I teach my little brother?
#72I 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.
I'm a stubborn bastard, only reason I kept going.
Re: Ask HN: What programming language should I teach my little brother?
#73Re: Ask HN: What programming language should I teach my little brother?
#74Re: Ask HN: What programming language should I teach my little brother?
#75Since 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…
Haskell as a first language... I've seen it work, but the learner was a physicist working on his PhD. "Finally a language that makes sense", he said. For a 13-year-old who has probably not been exposed to much mathematical rigor at school, I would not recommend Haskell, though. Haskell makes it hard to write a program that, as ugly and unmaintainable as it may be, somehow mostly works (e.g. you have to plan ahead whi…
Re: Ask HN: What programming language should I teach my little brother?
#76Earlier quoted context omitted.
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…
It's easier to code and deploy using PHP than Python for web-app. It's easier to code and deply GUI app in VB (and .NET environment). For a beginner to start coding web-app in Python would be like a non-geek trying out Linux with just command-line.
Re: Ask HN: What programming language should I teach my little brother?
#77Re: Ask HN: What programming language should I teach my little brother?
#78One of the big "duh" moments when learning CS is when you realize that all languages consist of similar structures to let you get things done.
Not sure what his interests are, but I'd probably choose from:
Ruby or Python
Haskell or Lisp
Javascript
Maybe c or c++ too to remove the intimidation factor, even if it's just for Hello World.
After he can write simple 50-ish line programs in those three languages and knows a bit about how they work, zoom in on one of them and take things a bit deeper, and then a few weeks later zoom back out and see if he can "self-teach" himself those same concepts in the other languages.
This assumes he doesn't want to just jump in a build something for the web, in which case you have to decide how much HTML/dom/standards stuff to teach him (which is largely boring to newcomers) at the expense of doing some cooler programs.
Alternately, you might just want to use pygame and build a fun, playable game with him and not worry about too much theory until after he's having a lot of fun with it.
Re: Ask HN: What programming language should I teach my little brother?
#79Since 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…
C is mandatory, every programmer knows C, it teaches you about memory management, syscalls… it teaches you how you computer works. Once he gets it, he can start having some fun with the sexiness of Lisp, and he will make less mistake because he knows what's happening behind the scenes. Plus… it's really hard to learn C when you already know Lisp exists. I mean… first you ride a bike, and then a motorcycle.
For my brother, I don't think Haskell is such a good idea. Sure, it's a great language, but maybe too mathematical for his age (he just learned the Thales theorem…).
Re: Ask HN: What programming language should I teach my little brother?
#80I would suggest a language like newlisp ( http://newlisp.org ), that has enough libraries to do unix scripting. Also, you should consider teaching him awk because it has simple semantics and it will be simpler for him to switch to C later. Btw, why do you hate C ?
I prefer languages that offers a certain abstraction, languages that allow me to concentrate on the algorithmic part of the program, the core of the application.